看到了几个一直没有好好注意的东东,分享一下,有空的时候也整理一下,就当是备忘先。
一、CopyOnWriteArrayList 这个是在看xwork2的容器管理时发现的一个List,它属于java.util.concurrent包,主要用于多线程的并发操作方面,看了相关的介绍后,再看jdk源码,发现它的用法还真的有点不同,为了线程安全,当add时直接再复制一份出来。所以在一些数据库的数据装入List的时候不要直接使用它,可以先放入一般的像ArrayList,再初始化为CopyOnWriteArrayList 。
xwork2的相关代码(com.opensymphony.xwork2.config.ConfigurationManager):
CopyOnWriteArrayList的add方法:
二、由CopyOnWriteArrayList引入的Lock -- ReentrantLock
对于这个锁一直没有去了解过,今晚第一次看。相关IBM文章在这里:
http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html
以后再找个时间写写自己对这个Lock的见解。
三、对于Java并发包的相关类理解
java.util.concurrent包要好好了解先。
http://www.javaeye.com/topic/363625
http://www.111cn.net/jsp/49/aa8961ca5424361db17f6aeb2f76bcb4.htm
http://java.sun.com/docs/books/tutorial/essential/concurrency/