南京中软面试题及详细答案
一、Java后端岗(高频,南京中软核心招聘方向)
1.面试题:HashMap和ConcurrentHashMap的核心区别,实际项目里什么时候选后者?
详细答案:最核心的就是线程安全问题。HashMap不是线程安全的,多线程环境下,比如同时读写,容易出现死循环、数据覆盖的情况,比如我们之前做接口并发请求时,用HashMap存临时缓存就出过这问题。ConcurrentHashMap是线程安全的,尤其是JDK1.8之后,它不用整个集合加锁,只锁数组里的单个元素,效率比老版本高很多,底层是数组+链表/红黑树,再配合CAS和synchronized实现并发。
实际用的时候
原创力文档

文档评论(0)