线程安全

HashMap和Hashtable都实现了Map接口,都是键值对保存数据的方式
区别1: 
HashMap可以存放 null
Hashtable不能存放null
区别2:
HashMap不是线程安全的类
Hashtable是线程安全的类

 

StringBuffer 是线程安全的
StringBuilder 是非线程安全的
所以当进行大量字符串拼接操作的时候,如果是单线程就用StringBuilder会更快些,如果是多线程,就需要用StringBuffer 保证数据的安全性
非线程安全的为什么会比线程安全的 快? 因为不需要同步嘛,省略了些时间

 

ArrayList类的声明: 

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
 

Vector类的声明:

public class Vector<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
 
他们的区别也在于,Vector是线程安全的类,而ArrayList是非线程安全的。
 
 
借助Collections.synchronizedList  可以把他们变成线程安全的类
posted @ 2018-04-03 10:43  lspa  阅读(95)  评论(0编辑  收藏  举报