java集合哪些是线程安全的,请说出java中线程安全的集合类有哪些

常见的集合如下:

java集合哪些是线程安全的,请说出java中线程安全的集合类有哪些_第1张图片

在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的。在jdk1.2之后,就出现许许多多非线程安全的类。 下面是这些线程安全的同步的类:

vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的。

statck:堆栈类,先进后出

hashtable:就比hashmap多了个线程安全

enumeration:枚举,相当于迭代器

除了这些之外,其他的都是非线程安全的类和接口。

线程安全的类其方法是同步的,每次只能一个访问。是重量级对象,效率较低。

其他:

1. hashtable跟hashmap的区别

hashtable是线程安全的,即hashtable的方法都提供了同步机制;

hashmap不是线程安全的,即不提供同步机制 ;

hashtable不允许插入空值,hashmap允许!

2. 多线程并发修改一 个 集合 怎么办

用老的Vector/Hashtable类

StringBuffer是线程安全,而StringBuilder是线程不安全的。

对于安全与不安全没有深入的理解情况下,易造成这样的错觉,如果对于StringBuffer的操作均是线程安全的。

YUKX优科学习网

本文内容及图片来源于网上摘录或读者投稿

你可能感兴趣的:(java集合哪些是线程安全的)