鄙视那些推荐一堆书单的。如果你现在已经面临面试,别浪费时间去看书。快速获取你面试所需要的知识点足以。
多线程并发和锁有关系吗?我真不知道你为什么会问这种问题。JVM中每个线程共享堆内存和方法区(Java 8实现叫metaspace),资源共享,意味着你多线程对共享资源进行修改操作,只要修改的整个过程不是原子的,就会出现一系列问题。 你要解决这种问题,你就要加锁,这可以引出Java的锁机制,Synchronized、ReentrantLock,重量级锁,为什么重量级?后来做了什么优化?偏向锁、轻量级锁。从而还可以引出Java的并发包,最喜欢问你ConcurrentgHashMap,如何实现同步?从JDK 1.7的segment到JDK 1.8的CAS+Synchronized。
索引去看看索引有那些实现,原理是什么,最常见的当然就是B+树,左匹配原则。
JVM内存,,,这不是常识吗?
多态实现,类加载解析阶段的晚期绑定,涉及方法表的方法签名等。