JVM
1.JVM 堆的基本结构
分代收集器, 新生代和老年代 ,更细分的为 Eden 空间, From Survivor 空间 , To Survivor 空间等
默认比例 8:1:1
2.JVM 的垃圾算法有哪几种? CMS 收集算法的流程?
CMS 收集器是一种以获取最短回收停顿时间为目标的收集器: concurrent mark sweep 使用的是标记清除算法
CMS 过程: 初始标记 -> 并发标记 -> 重新标记 -> 并发清除
初始标记 和 重新标记需要 stop the world
优点: 并发收集,低停顿
3.JVM 有哪些常用启动参数可以调整?
-Xms 设置堆的空间最小大小 -Xmx 设置堆空间最大大小
-XX:NewSize 设置新生代最小空间大小 -XX:MaxNewSize 设置新生代最大大小
........
-Xss 设置每个线程的堆大小
4.如何查看 JVM 的内存使用情况?
5.JAVA 程序是否会内存溢出?
6.你常用的 JVM 配置和调优参数都有哪些?分别什么作用?
7.JAVA 内存分代模型, GC 算法, JVM 常见的启动参数
8.CMS 算法的过程,CMS 回收过程中 JVM 是否需要暂停(这块回答较好,也可以只是看毕玄的 Java 分布式开发或网上文章的学习,可以结合 JVM 启动参数常见配置,jstat 等命令,看下动手能力,意愿;以及实际线上问题排查)
9.什么情况下会出现 OOM (堆内存,永久区,堆外区,方法栈)
10.Java 内存结构 (堆结构,新生代[S0/S1/Elden],年老代,持久代)
11.常用的 GC 策略,什么时候会触发 YGC, 什么时候触发 FGC
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。