2021金三银四必备JVM知识点与JVM面试题分享
中高级Java工程师面试必备题,学会JVM调优对于Java工程师来说非常的重要,不管是实际项目中遇到问题,还是面试中,都需要这一块的知识,小编由简入深的,给大家分享一波。
文末有2020精选阿里JVM面试题文档获取方式,小编额外赠送给大家的一本238页深入理解jvm的PDF文档哦!
1.JDK、JRE、JVM关系?
2.启动程序如何查看加载了哪些类,以及加载顺序?
class字节码文件10个主要组成部分?
4.画一下jvm内存结构图?
5.程序计数器
6.Java虚拟机栈
7.本地方法栈
8.Java堆
9.方法区
10.运行时常量池?
11.什么时候抛出StackOverflowError?
12.Java7和Java8在内存模型上有什么区别?
13.程序员最关注的两个内存区域?
14.直接内存是什么?
15.除了哪个区域外,虚拟机内存其它运行时区域都会发生OutOfMemoryError?
16.什么情况下会出现堆内存溢出?
17.如何实现一个堆内存溢出?
18.空间什么情况下会抛出OutOfMemoryError?
19.如何实现StrackOverflowError?
20.如何设置直接内存容量?
21.Java堆内存组成?
22.Edem : from : to默认比例是?
23.垃圾标记阶段?
24.引用计数法?
25.根搜索算法?
26.JVM中三种常见的垃圾收集算法?
27.标记-清除算法?
29.标记-整理算法?
30.分代收集算法?
31.垃圾收集器?
32.Stop The World?
33.Serial收集器?
34.PartNew收集器?
36.Parallel Scavenge?
37.Parallel Old收集器?
38.CMS 收集器?
39.CMS垃圾回收的步骤?
40.CMS收集器优点?缺点?
41.G1收集器?
G1收集器是如何改进收集方式的?
43.虚拟机进程状况工具?
44.虚拟机统计信息工具?
45.jstat 工具主要选项?配置信息工具?
46.内存映像工具?
47.虚拟机堆转存储快照分析工具?
48.堆栈跟踪工具?
49.除了命令行,还有什么可视化工具?
50.类的生命周期?
51.类加载过程?
52.链接阶段分几个步骤?
53.哪5种情况必须对类进行初始化?
54.以下代码会输出?
55.加载阶段做哪些事情?
56.验证阶段的意义?
57.验证大概分几个阶段?
58.准备阶段?
59.准备阶段被final修饰的类变量是如何附值的?
60.解析阶段?
61.初始化?
62.类加载器有哪些?
63.启动类加载器(BootstrapClassLoader)?
64.扩展类加载器(ExtClassLoader)
65.应用类加载器(AppClassLoader)
66.可以自定义类加载器吗?
67.双亲委托机制?
68.如何查看加载了哪些类,顺序?
总结了一些2020年的面试题,这份面试题的包含的模块分为19个模块,分别是: Java基础、容器、多线程、反射、对象拷贝、JavaWeb异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM,