JVM面试提问

1. 内存区域篇

  1. 介绍下Java内存区域(运行时数据区)
  2. 哪些是线程私有的?哪些是线程共享的?
  3. 程序计数器都有哪些作用?
  4. java虚拟机栈有哪些作用?
  5. 本地方法栈和虚拟机栈的区别?
  6. 详细介绍一下java 堆?
  7. 新生代如何晋升到老年代的?

2. 垃圾回收篇

  1. JVM 是如何进行垃圾回收的?
  2. 我们如何来判断对象已经无效?
  3. 如何对一个对象不可达,那么他一定非死不可吗?
  4. 介绍一下java 的四种引用?
  5. 垃圾收集都有哪些算法?各自的特点是什么?
  6. 为什么要分新生代和老年代?
  7. 介绍一下CMS,G1收集器

3. 类加载篇

  1. 说说Java类加载过程的?

  2. 类加载中的加载步骤是做什么的?

  3. 有哪几种类加载器,他们的职责是什么?

  4. 介绍一下JAVA 的双亲委派模型?

  5. 双亲委派模型有什么好处?

  6. 如果我们不想使用双亲委派模型怎么办?

  7. 为什么Tomcat 容器多个应用之间,为什么能依赖同一个第三方类库的不同版本?

4. JVM故障排查与调优

  1. 你有对JVM 做过性能调优吗?怎么做的?

  2. 你有过线上JVM故障排查经验吗?你都是怎么做的?

results matching ""

    No results matching ""