JVM的面试题

1、JVM的组成

1.1、什么是程序计数器?

1.2、介绍下Java堆


JDK1.7与JDK1.8的内存结构区别

为什么会有这种内存结构的区别?

因为元空间/方法区存储的都是一些常量,项目随着动态类加载的情况越来越多,这块儿内存的大小就变的越来越不可控。小了会出现系统的内存溢出,大的话又浪费内存,现在都放到了本地内存,防止堆内存溢出(OOM)

1.3、什么是虚拟机栈?

1.4、解释一下方法区

1.5、你听过直接内存吗?

用直接内存就少拷贝了一次

2、类加载器

2.1、什么是类加载器?

2.2、什么是双亲委派模型?

2.3、类加载的执行流程

3、垃圾回收

3.1、对象什么时候可以被回收?

3.2、JVM的垃圾回收算法有哪些?

3.3、说一下JVM的分代回收

3.4、JVM有哪些垃圾回收器?

初始标记是先找出跟GC ROOT直接相连的对象

并发标记是找出剩下的对象

3.4、聊一下G1垃圾回收器

3.5、强、软、弱、虚引用的区别

4、JVM实践

4.1、JVM调优的参数在哪里设置?

4.2、JVM调优的参数有哪些?

4.3、JVM调优的工具

4.4、内存泄露的排查思路

4.5、CPU飙高的排查思路

相关推荐
罗曼蒂克在消亡几秒前
2.3MyBatis——插件机制
java·mybatis·源码学习
Fairy_sevenseven6 分钟前
【二十八】【QT开发应用】模拟WPS Tab
开发语言·qt·wps
_GR12 分钟前
每日OJ题_牛客_牛牛冲钻五_模拟_C++_Java
java·数据结构·c++·算法·动态规划
蜡笔小新星14 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
凯子坚持 c14 分钟前
C语言复习概要(三)
c语言·开发语言
无限大.25 分钟前
c语言200例 067
java·c语言·开发语言
余炜yw27 分钟前
【Java序列化器】Java 中常用序列化器的探索与实践
java·开发语言
攸攸太上27 分钟前
JMeter学习
java·后端·学习·jmeter·微服务
篝火悟者28 分钟前
问题-python-运行报错-SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file 汉字编码问题
开发语言·python
Kenny.志30 分钟前
2、Spring Boot 3.x 集成 Feign
java·spring boot·后端