1.HashMap底层原理(一定要看源码)2.有序集合有哪些3.jvm内存模型4.gc算法,垃圾收集器有哪些5.如何控制线程并发安全6.线程安全的集合有哪些7.java中常见的锁8.synchronized和lock有什么区别9.可重入锁和非可重入锁的区别10.线程池的七个参数,线程池的好处11.java中有哪些常用的线程池12.jvm类加载过程13.反射的原理,有什么应用14.java如何打破双亲委派15.volatile的作用16.线程间如何通信17.CAS算法以及可能产生的问题18.乐观锁和悲观锁的区别19.String,StringBuffer和StringBuilder的区别20.为什么String是不可变类,有什么好处21.如何保证线程顺序执行22.sleep和wait的区别23.synchronized锁膨胀过程24.抽象类与接口的区别25.HashMap和HashTable的区别26.线程安全的数组有哪些27.谈谈你对面向对象的理解28.常用的设计模式