最近做的课程设计中用到了Java线程安全的集合类,因此关于对Java线程安全集合类的理解做个简单记录。
Java集合类用于存储数量不定的对象(实际存储的是对象的引用)。Java集合大致分为以下几类:

Java集合
而Java线程安全的集合类包含两类,一类是以Conccurent开头的集合类,如ConcurrentSkipListMap、ConcurrentSkipListSet、ConcurrentLinkedQueue和ConcurrentLinkedDeque。以CopyOnWrite开头的 CopyOnWriteArraySet和 CopyOnWriteArrayList。在本次课程设计中用到了 CopyOnWriteArraySet,它的底层封装了CopyOnWriteArrayList,而CopyOnWriteArrayList是采用复制底层数组的方式来实现读写操作的,因此它是线程安全的,因而CopyOnWriteArraySet也是线程安全的。另一方面,CopyOnWriteArraySet是基于Set集合,是无序、不可重复的集合,因此存储在该集合中的对象是不可重复的。
在本次课设关于CopyOnWriteArraySet的应用如下:
//初始化集合,存放websocket对象
private static CopyOnWriteArraySet<ChatServer> servers= new CopyOnWriteArraySet<ChatServer>();
servers.add(this);//添加用户
for(ChatServer server:servers){}//遍历集合
写在后面:
虽然以前做了好多课设,自我感觉完成得还不错的,但是在做的过程中也没有记录,最后报告交了就没有进行整理,所以收获其实不大。虽然边学边记录,现在看来好像会拉低效率,不过长期坚持下来这应该会是一个有效的学习途径。加油吧,当时写写日记喽!