中高级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,获取资料:【点击这里,暗号CSDN!!】,获取学习资料,记得点个关注+评论哦~