摘要:
在遍历Java容器(ArrayList, LinkedList, HashSet, TreeSet, HashMap, HashTable)过程中不允许向该容器中Add/Remove元素, 否则会抛出ConcurrentModificationException但在Java 1.5版本以来, Java类库就提供了一个并发集合(Concurrent collection) CopyOnWriteArrayList, CopyOnWriteArraySet, ConcurrentHashMap, 这是专门为解决死锁和ConcurrentModificationException问题的. 通过使用并 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
mvn install:install-file -Dfile=D:\Download\java_memcached-release_2.6.6\java_memcached-release_2.6.6.jar -DgroupId=com.danga -DartifactId=memcached-Dversion=release_2.6.6 -Dpackaging=jar 阅读全文
摘要:
微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)…… (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻... 阅读全文
摘要:
数据库隔离级别ReadCommitted在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻像数据。ReadUncommitted可以进行脏读,意思是说,不发布共享锁,也不接受独占锁。RepeatableRead在查询中使用的所有数据上放置锁,以防止其他用户更新这些数据。防止不可重复的读取,但是仍可以有幻像行。Serializable在DataSet上放置范围锁,以防止在事务完成之前由其他用户更新行或向数据集中插入行。SQL 事务处理模型事务有三种模型: 1.隐式事务是指每一条数据操作语句都自动地成为一个事务,每个事务都有显式的开始和结束标记。2. 阅读全文
摘要:
package com.ai.common;public class StaticInit { private static class StaticPa{ static final int high2 =13; final int high3 = print("Init StaticPa variable high3"); static { System.out.println("StaticPa static block: "+high2); } private StaticP... 阅读全文
摘要:
Integer intA = 127; Integer intB = 127; Integer intC = 128; Integer intD = 128; System.out.println(intA == intB); //true System.out.println(intC == intD); //falseInteger里弄了一个缓存,对于在 -128 ~ 127 之间的数值,会直接使用该缓存里的对象 也就是说 IntegerintA =127 或者 Integ... 阅读全文
摘要:
常量池保存了类, 接口, 方法等的常量数据, 也保存了String常量.如下代码中a1, a2不是String常量(在编译期即被确定), a3则是, a1.intern()也可以获得String常量(是在运行时被装载的常量). String a1 = new String("a"), a2 = new String("a"), String a3 = "a"; System.out.println(a1 == a2); //false System.out.println(a1.intern() == a3); //true Stri 阅读全文
摘要:
多态即为后期绑定或运行时绑定.只有non-static, non-final, non-private method有多态性.Field, Constructor以及 static, final, private method 均没有多态性.Constructor隐式static的,private method隐式final的.子类Overwrite 父类的private method不会有编译错误, 但是由于其不具备多态性, 会造成程序运行混乱. 阅读全文
摘要:
LinkedHashMap继承了HashMap, 采用了HashMap的散列结构 因此其随机查询速度很快. 同时由于其修改HashMap.Entry, 添加 before/after Entry<K,V>两个元素用于保存最后添加的元素 以保持顺序结构, 同时这种结构让其有比较好的遍历效率.private transient Entry<K,V> header;public void clear() { super.clear(); header.before = header.after = header; }private static class Entr... 阅读全文