下面是按jvm虚拟机知识点分章节总结的一些jvm学习与面试相关的一些东西。一般作为Java程序员在面试的时候一般会问的大多就是Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理这些问题了。这些内容参考周的《深入理解Java虚拟机》中第二章和第三章就足够了对应下面的深入理解虚拟机之Java内存区域:和深入理解虚拟机之垃圾回收这两篇文章。
-
介绍下Java内存区域(运行时数据区)。
-
对象的访问定位的两种方式。
-
如何判断对象是否死亡(两种方法)。
-
简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。
-
垃圾收集有哪些算法,各自的特点?
-
HotSpot为什么要分为新生代和老年代?
-
常见的垃圾回收器有那些?
-
介绍一下CMS,G1收集器。
-
Minor Gc和Full GC 有什么不同呢?
- JVM调优的常见命令行工具有哪些?
- 简单介绍一下Class类文件结构(常量池主要存放的是那两大常量?Class文件的继承关系是如何确定的?字段表、方法表、属性表主要包含那些信息?)
-
简单说说类加载过程,里面执行了哪些操作?
-
对类加载器有了解吗?
-
什么是双亲委派模型?
-
双亲委派模型的工作过程以及使用它的好处。
《深入理解 Java 内存模型》读书笔记 (非常不错的文章) 全面理解Java内存模型(JMM)及volatile关键字