一、前言
Java为我们提供了众多的集合,但是里面有很多都是线程不安全的集合。
因此,本文对这些集合进行一些总结。
二、集合体系
在此之前,让我们先来回顾一下Java集合的体系:
(一)Collection集合
(二)Map集合
三、线程安全的集合
(一)JDK5之前
在JDK5之前,Java通过工具类Collections来帮我们将线程不安全的集合转换为线程安全的集合:
1、Collection集合
public static
List synchronizedList(List list) public static
Set synchronizedSet(Set s) ……
2、Map集合
public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
……
(二)JDK5之后
在JDK5之后,我们可以直接使用线程安全的集合,而不需要再进行转换。
1、Collection集合
Collection体系集合中,出Vector以外的线程安全集合:
2、Map集合
四、总结
这些集合的使用其实非常简单,但是最重要的是要弄懂线程不安全的原因是什么,以及这些集合分别是如何解决的。
Java新手,若有错误,欢迎指正!