自我介绍
怎么学习Java
有哪些集合
HashMap为什么不是线程安全
扩容会变成环形链表。
ConcurrentHashMap
JVM内存区域
分析 String a = "123" 分配在哪,new String("123") 呢
"123"在常量池里面,a放在Java堆。
new String("123")会放在Java堆中。
类加载机制
垃圾回收机制
介绍CMS垃圾收集器
如何线程安全访问某个代码块
synchronized,ReentrantLock,Atomic,ThreadLocal。
让某个线程先执行完再执行某个线程的方法
CountdownLatch,栅栏,信号量。
面试官问能不能用wait,notify,我说可以,但是要维护一个计数器。忘记了wait和notify是需要synchronized来保证同步的,说用原子类去维护计数器。