JVM相关面试题

前言

本章内容来自B站黑马程序员java大厂面试题

博主学习笔记,如果有不对的地方,海涵。

题目上的【*】代表出现频率

如果这篇文章对你有帮助,可以点点关注,点点赞,谢谢你!

1. JVM组成

1.1什么是程序计数器?【****】

1.2 你能给我详细的介绍Java堆吗?【****】

年轻代被划分为三部分,Eden区和两个大小严格相同的Survivor区,根据JVM的策略,在经过几次垃圾收集后,任然存活于Survivor的对象将被移动到老年代区间。

老年代主要保存生命周期长的对象,一般是一些老的对象

1.3 什么是虚拟机栈【****】

深入问题

总结

1.4 能不能解释一下方法区?【***】

常量池

常量池是 *.class 文件中的,当该类被加载,它的常量池信息就会放入运行时常量池,并把里面的符号地址变为真实地址

1.5 你听过直接内存吗?【***】

2. 类加载器

2.1什么是类加载器,类加载器有哪些【***】

进阶问题:

什么是双亲委派模型?【****】

JVM为什么采用双亲委派机制?

2.2 说一下类装载的执行过程?【***】

3. 垃圾回收

3.1 对象什么时候可以被垃圾器回收【****】

引用计数法

循环引用会失效:

可达性分析算法

3.2 JVM 垃圾回收算法有哪些?【****】

标记清除算法

标记整理算法

复制算法

总结

3.3 说一下JVM中的分代回收【****】

3.4 说一下JVM有哪些垃圾回收器?【****】

串行垃圾搜集器

并行垃圾收集器

CMS(并发)垃圾收集器

G1:详细聊一下G1垃圾回收器【****】

新生代回收

年轻代垃圾回收+并发标记

混合垃圾回收

多次执行

总结

3.5 强引用、软引用、弱引用、虚引用的区别【***】

4. JVM实践

4.1 JVM 调优的参数可以在哪里设置参数值【**】

war包部署在tomcat中设置

jar包部署在启动参数设置

总结

4.2 JVM 调优的参数都有哪些?【***】

设置堆空间大小

虚拟机栈的设置

年轻代中Eden区和两个Survivor区的大小比例,年轻代晋升老年代阈值

设置垃圾回收收集器

4.3 说一下 JVM 调优的工具?【**】

总结

4.4 Java内存泄露的排查思路?【****】

总结

4.5 CPU飙高排查方案与思路?【****】

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值