Java虚拟机(jvm)

原文地址

下面是按jvm虚拟机知识点分章节总结的一些jvm学习与面试相关的一些东西。一般作为Java程序员在面试的时候一般会问的大多就是Java内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM内存管理这些问题了。这些内容参考周的《深入理解Java虚拟机》中第二章和第三章就足够了对应下面的深入理解虚拟机之Java内存区域:深入理解虚拟机之垃圾回收这两篇文章。

常见面试题

深入理解虚拟机之Java内存区域

  1. 介绍下Java内存区域(运行时数据区)。

  2. 对象的访问定位的两种方式。

深入理解虚拟机之垃圾回收

  1. 如何判断对象是否死亡(两种方法)。

  2. 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。

  3. 垃圾收集有哪些算法,各自的特点?

  4. HotSpot为什么要分为新生代和老年代?

  5. 常见的垃圾回收器有那些?

  6. 介绍一下CMS,G1收集器。

  7. Minor Gc和Full GC 有什么不同呢?

虚拟机性能监控和故障处理工具

  1. JVM调优的常见命令行工具有哪些?

    深入理解虚拟机之类文件结构

  2. 简单介绍一下Class类文件结构(常量池主要存放的是那两大常量?Class文件的继承关系是如何确定的?字段表、方法表、属性表主要包含那些信息?)

深入理解虚拟机之虚拟机字节码执行引擎

  1. 简单说说类加载过程,里面执行了哪些操作?

  2. 对类加载器有了解吗?

  3. 什么是双亲委派模型?

  4. 双亲委派模型的工作过程以及使用它的好处。

推荐阅读

《深入理解 Java 内存模型》读书笔记 (非常不错的文章) 全面理解Java内存模型(JMM)及volatile关键字