我:ConcurrentHashMap 线程安全,LinkedHashMap 可以记录插入顺序和访问
顺序,TreeMap 可以自定义排序,除了这几个场景,其他场景基本都可以使用
HashMap
面试官:ConcurrentHashMap 怎么保证线程安全
我:JDK 1.8 以前通过分段锁,JDK 1.8 以后通过 CAS + Synchronized
面试官:ConcurrentHashMap 在 JDK 1.8 前后的锁有什么区别
我:JDK 1.8 以前锁分段,JDK 1.8 以后锁单个节点,锁粒度降低,并发度变
高
java 基础
• Arrays.sort 实现原理和 Collection 实现原理
• foreach 和 while 的区别(编译之后)
• 线程池的种类,区别和使用场景
• 分析线程池的实现原理和线程的调度过程
• 线程池如何调优
• 线程池的最大线程数目根据什么确定
• 动态代理的几种方式
• HashMap 的并发问题
• 了解 LinkedHashMap 的应用吗
• 反射的原理,反射创建类实例的三种方式是什么?
• cloneable 接口实现原理,浅拷贝 or 深拷贝
• Java NIO 使用
• hashtable 和 hashmap 的区别及实现原理,hashmap 会问到数组索引,
hash 碰撞怎么决
• arraylist 和 linkedlist 区别及实现原理
• 反射中,Class.forName 和 ClassLoader 区别
• String,Stringbuffer,StringBuilder 的区别?
• 有没有可能 2 个不相等的对象有相同的 hashcode
• 简述 NIO 的最佳实践,比如 netty,mina
• TreeMap 的实现原理
参考视频: