一面
JAVA基础
-
Hashmap底层、是否线程安全、在高并发的情况下会出现什么问题?
-
如何让hashmap安全?
-
Concurrenthashmap的底层实现
-
反射是什么?
-
Hashmap的put时key应该注意什么(hashcode和equals)
线程
-
线程的实现方式
-
线程池的参数
-
线程的抛弃策略
-
线程中的工作队列是否有界
-
线程池的实现流程
-
Volatile的作用
-
详细说一下happens-before
-
ReetrantLock和sychronized的区别
-
Sychronized的锁(偏向锁----自旋锁----重量级锁)
-
CAS出现的问题,如何解决
JVM
-
介绍一下什么是JMM?
-
JAVA创建对象的过程?对象头中包含什么?
-
JVM的内存区域?虚拟机栈中存着什么?
-
垃圾回收的算法?
-
GC roots可以是哪些对象
-
详细说一下双亲委派机制?
-
能不能打破双亲委派机制ÿ