AMD X2 5400+,2G RAM,JDK6,eclipse 3.4数组
CopyOnWriteArrayList:专为多线程并发设计的容器,“写入时复制”策略。多线程
Collections.synchronizedMap:同步容器,独占策略。并发
能够看到随着线程数不断翻倍,CopyOnWriteArrayList的访问时间基本也是翻倍,但Collections.synchronizedMap的时间则是*4。在两个线程下Collections.synchronizedMap访问时间大概是CopyOnWriteArrayList的5倍,但在64线程的时候就变成了200倍+。因此若是在容器彻底只读的状况下CopyOnWriteArrayList绝对是首选。但CopyOnWriteArrayList采用“写入时复制”策略,对容器的写操做将致使的容器中基本数组的复制,性能开销较大。因此但在有写操做的状况下,CopyOnWriteArrayList性能不佳,并且若是容器容量较大的话容易形成溢出。代码中若是CopyOnWriteArrayList cl按照ArrayList al的方法初始化就会形成溢出。eclipse