面试题(JVM+GC解析)

JVM+GC解析


1.JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots

1.什么是垃圾


2.要进行垃圾回收,如何判断一个对象是否可以被回收?

枚举根节点做可达性分析(根搜索路径)
在这里插入图片描述


2.你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认值

2.1 JVM参数类型

2.1.1 标准参数

2.1.2 x参数(了解)

2.1.3 xx参数

Boolean类型

KV设置类型


jinfo举例,如何查看当前运行程序的配置



2.2 盘点家底查看JVM默认值

-XX:+PrintFlagslnitial

-XX:+PrintFlagsFinal

PrintFlagsFinal举例,运行java命令的同时打印出参数

-XX:+PrintCommandLineFlags


3.你平时工作用过的JVM常用基本配置参数有哪些?


常用参数

-Xms –Xmx –Xss –Xmn -XXMetaspaceSize

典型设置案例

-XX:+PrintGCDetails



GC回收参数解读

FullGC回收参数解读

-XX:SurvivorRatio


-XX:NewRatio

-XX:MaxTenuringThreshold



4.强引用、软引用、弱引用、虚引用分别是什么?

整体架构

强引用

5.请谈谈你多OOM的认识




5.1 java.lang.StackOverflowError

5.2 java.lang.OutOfMemoryError: Java heap space

5.3 java.lang.OutOfMemoryError: GC overhead limit exceeded


5.4 java.lang.OutOfMemoryError: Direct buffer memory

-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:MaxDirectMemorySize=5m


5.5 java.lang.OutOfMemoryError: unable to create new native thread


5.5.1 服务器级别调参调优


5.6 java.lang.OutofMemoryError: Metaspace



6.GC垃圾回收算法和垃圾收集器的关系?分别是什么请你谈谈?

6.1 4种主要垃圾收集器


6.1.1 串行垃圾回收器(Serial)

6.1.2 并行垃圾回收器(Parallel)

6.1.3 并发垃圾回收器(CMS)

6.1.4 上述3个小总结,G1特殊后面说

6.1.5 G1垃圾回收器


7.怎么查看服务器默认的垃圾收集器是哪个?生产上如何配置垃圾回收器的?谈谈你对垃圾收集器的理解?

7.1 怎么查看默认的垃圾收集器是那个?

7.2 默认的垃圾收集器有哪些?

7.3 垃圾收集器


7.3.1 部分参数预先说明

7.3.2 Server/Client模式分别是什么意思

7.3.3 新生代

7.3.3.1 串行GC(Serial)/(Serial Copying)


7.3.3.2 并行Gc(ParNew)


7.3.3.3 并行回收GC(Parallel)/(Parallel Scavenge)


7.3.4 老年代

7.3.4.1 串行GC(SerialOld)/(Serial MSC)

7.3.4.2 老年代 并行GC(Parallel Old)/(Parallel MSC)


7.3.4.3 并发标记清除GC(CMS)


4步过程





优缺点


7.3.5 垃圾收集器配置代码总结

7.4 如何选择垃圾收集器



8.G1垃圾回收器

8.1 以前收集器特点

8.2 G1是什么


特点

8.3 底层原理

8.3.1 Region区域化垃圾收集器



8.3.2 回收步骤

8.3.3 4步过程

8.3.4 常用配置参数

8.3.5 和CMS相比的优势


9.生产环境服务器变慢,诊断思路和性能评估谈谈?


10.假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位


11.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值