分类: 学习预览模式: 普通 | 列表
08-11
17

java.util.ConcurrentModificationException异常

ConcurrentModificationException主要原因及处理方法

当使用 fail-fast iterator 对 Collection 或 Map 进行迭代操作过程中尝试直接修改 Collection / Map 的内容时,即使是在单线程下运行, java.util.ConcurrentModificationException 异常也将被抛出。

  Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 Iterator 被创建之后会建立一个指向原来对象的单链索引表,当原来的对象数量发生变化时,这个索引表的内容不会同步改变,所以当索引指针往后移动的时候就找不到要迭代的对象,所以按照 fail-fast 原则 Iterator 会马上抛出 java.util.ConcurrentModificationException 异常。

  所以 Iterator 在工作的时候是不允许被迭代的对象被改变的。但你可以使用 Iterator 本身的方法 remove() 来删除对象, Iterator.remove() 方法会在删除当前迭代对象的同时维护索引的一致性。

  有意思的是如果你的 Collection / Map 对象实际只有一个元素的时候, ConcurrentModificationException 异常并不会被抛出。这也就是为什么在 javadoc 里面指出: it would be wrong to write a program that depended on this exception for its correctness: ConcurrentModificationException should be used only to detect bugs.

查看更多...

Tags: Exception

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 651
08-11
15

replace()和replaceAll()的区别

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:

简述:
replace的参数是char
replaceAll()参数是String且支持正则表达式


1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

查看更多...

Tags: replace 区别

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 769
08-11
15

java.lang.IllegalArgumentException: Illegal group reference

在用新闻模板做jsp新闻页面静态化转换的时候,程序老是出现


java.lang.IllegalArgumentException: Illegal group reference错误

经过网上查找,问题出在文章中含有$符号,replaceall()的源代码是:

while (cursor < replacement.length()) {
             char nextChar = replacement.charAt(cursor);

查看更多...

Tags: Exception

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1279
08-11
12

邮政西联第一次收汇记

  在付款记录中挂了几天在支付中终于在2008年8月30日晚变成了付款已经签发,共109.65美元。TMD的终于可以取钱去了。

  第二天起来早上拼命的往网站里面添加内容,有钱的日子更加有动力了,下午跑到邮政去取款。我靠,今天是星期天,邮政不办理西联快汇,白开心了一会。

  今天终于迎来了周一,早上跑到邮政去,MMD的,还要填收汇单,最麻烦的还是要填发汇人的姓名地址。又白跑了一趟,回来赶快上网去查别人是怎么填写的,回来才知道发汇人的资源原来在付款记录上是有的,只是自己没细心去看。

  为了取这一笔广告费用可不容易啊,一共跑了三次。这一会得到的教训就是,属于政府部门有相关的,周六日一般办理不了,任何事情先上网了解清楚了再去办理。

  顺便记录一下最近网赚的经历:今天查了一下gg ad的收入,8月份还差那么一点就满30美元了,平均每天1刀,属于低水平;百度搜索也平均每天1rmb左右,阿里妈妈可以说是忽略不算,做淘客至今一分钱也没进帐。今天主要完成两件事:将顶部的banner广告换成了联想的cps广告,建立了一个网上电脑直销单页。

查看更多...

Tags: 西联 邮政

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 548
08-11
12

VSS服务器安装配置

VSS
VSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。
源代码版本控制机制是现代软件开发中必不可少的管理机制之一,通常借助版本控制软件即Source Code Management(SCM) systems或者Version Control systems来实现。版本控制在软件开发中的重要作用如下:

1)作为代码仓库有效的管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取。

2)对开发小组中对源代码的访问进行有效的协调(不同的版本控制软件采取不同的协调策略)。

常用的版本控制软件有Clearcase, CVS, PVCS和Microsoft公司的Visual SourceSafe (VSS)。下面对Windows平台开发最常用的Visual SourceSafe 6.0进行简单介绍。

查看更多...

Tags: VSS cvs

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 478
08-11
11

Bad version number in .class file

为了测试各种格式的证书读取操作,我写了个很简单的Test类,结果却出现如下错误:
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)

查看更多...

Tags: Bad version number in class

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 634