天天看点

面试历程(1)

为什么不做笔记,边做边学呢??

太慢了可能时间不够!理清楚原理即可!

1、ConcurrentHashMap原理

https://blog.csdn.net/qq_33591903/article/details/106634270

2、HashMap、HashTable、ConcurrentHashMap、TreeMap的区别

1、HashMap:

实现了Map接口,允许一个NULL键和多个NULL值,是非线程安全的,当出现多线程操作时就涉及到了数据的同步问题,可以通过使用Collections.synchronizedMap(Map<K,V> m)方法来从HashMap中获取线程安全的Map,但是这个synchronized会锁住整个HashMap,意味着会效率低,

2、HashTable:

也是实现了Map接口,是jdk1.1之前有的,但是不允许NULL键和NULL值,比HashMap慢,因为它是同步的。HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占。所以HashTable适合于单线程。

3、ConcurrentHashMap:

是jdk1.5之后引入的࿰