前言

如果你经常注意面试题,你会发现现在面试题多多少少会含有jvm相关的面试题,随着互联网的发展,高并发高可用、快速响应成为软件的必须,而JVM与这些有着密切关联。今天我们就来谈谈如何学习jvm以及jvm常见面试题。

java面试jvm常见面试题 jvm面试题2021_java面试jvm常见面试题


1.JVM基本概念

java面试jvm常见面试题 jvm面试题2021_java_02

2.线程

java面试jvm常见面试题 jvm面试题2021_JVM_03

3.JVM内存区域

java面试jvm常见面试题 jvm面试题2021_java面试jvm常见面试题_04


java面试jvm常见面试题 jvm面试题2021_java_05


java面试jvm常见面试题 jvm面试题2021_jvm_06

4.JVM运行时内存

java面试jvm常见面试题 jvm面试题2021_java面试jvm常见面试题_07

5.垃圾回收与算法

java面试jvm常见面试题 jvm面试题2021_jvm_08

6.Java四种引用类型

java面试jvm常见面试题 jvm面试题2021_jvm_09

7.GC垃圾收集器

java面试jvm常见面试题 jvm面试题2021_java面试jvm常见面试题_10

8.Java IO/NIO

java面试jvm常见面试题 jvm面试题2021_JVM_11

9.JVM类加载机制

java面试jvm常见面试题 jvm面试题2021_java_12

JVM常见面试题

Java内存区域

1.解释 Java 堆空间及 GC?
2.说一下 JVM 的主要组成部分及其作用?
3.说一下 JVM 运行时数据区? 或者:说一下JVM内存模型?
4.深拷贝和浅拷贝
5.说一下堆栈的区别?
6.Java 中堆和栈有什么区别?
7.队列和栈是什么?有什么区别?
8.虚拟机栈(线程私有)
9.程序计数器(线程私有)
10.什么是直接内存?

HotSpot虚拟机对象探秘

1.对象的创建
2.为对象分配内存
3.处理并发安全问题
4.对象的访问定位
5.64 位 JVM 中,int 的长度是多数?
6.32 位和 64 位的 JVM,int 类型变量的长度是多数?
7.怎样通过 Java 程序来判断 JVM 是 32 位 还是 64位?
8.32 位 JVM 和 64 位 JVM 的最大堆内存分别是多数?
9.JRE、JDK、JVM 及 JIT 之间有什么不同?

内存溢出异常

1.Java会存在内存泄漏吗?请简单描述
2.什么情况下会发生栈内存溢出。

垃圾收集器

1.简述Java垃圾回收机制
2.GC是什么?为什么要GC
3.垃圾回收的优点和原理。并考虑2种回收机制
4.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
5.你能保证 GC 执行吗?
6.Java 中都有哪些引用类型?
7.介绍一下强引用、软引用、弱引用、虚引用的区别?
8.怎么判断对象是否可以被回收?
9.在Java中,对象什么时候可以被垃圾回收
10.JVM 运行时堆内存如何分代?
11.JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。
12.JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代
13.JVM中的永久代中会发生垃圾回收吗
14.JAVA8 与元数据
15.如何判断对象可以被回收?
16.引用计数法
17.可达性分析
18.Minor GC与Full GC分别在什么时候发生?
19.垃圾收集算法有哪些类型?
20.说一下 JVM 有哪些垃圾回收算法?
21.老年代与标记复制算法
22.GC 垃圾收集器
23.说一下 JVM 有哪些垃圾回收器?
24.Serial 与 Parallel GC 之间的不同之处?

虚拟机类加载机制

1.简述java类加载机制?
2.描述一下JVM加载Class文件的原理机制
3.描述一下 JVM 加载 class 文件的原理机制
4.JVM 类加载机制
5.什么是类加载器,类加载器有哪些?
6.说一下类装载的执行过程?
7.什么是双亲委派模型?
8.简单说说你了解的类加载器,可以打破双亲委派么,怎么打破。
9.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

JVM调优

1.说一下 JVM 调优的工具?
2.常用的 JVM 调优的参数都有哪些?

调优命令有哪些?

1.调优工具
2.说说你知道的几种主要的JVM参数
3.怎么打出线程栈信息。