0. 常见面试题

1. JVM是什么


2. 程序计数器

3. 堆
java7->java8的优化就是把方法区从堆中拿到了本地内存。 为了防止OOM


4. 虚拟机栈




总结:


5.方法区



6.直接内存----NIO
用户态和内核态都可以操作的内存

常规IO
NIO
7.类加载器



8.类装载过程
1.加载

2.连接
2.1连接--验证

2.2连接--准备

2.3解析

3.初始化

4.使用

5.卸载
当用户程序代码执行完毕之后呢,JVM开始销毁创建的Class对象,这时候就相当于把类给卸载了。
总结
9.垃圾回收
1.可达性分析法和引用计数法

2.GC ROOT

3.总结

10.垃圾回收算法
1.标记清除法

2.标记整理法(老年代)

3.复制算法(年轻代)

4.总结

11.JVM分代回收
1.对象分配流转


2.各种GC

3.总结

12.垃圾回收器




13G1垃圾回收器(JDK9后默认)
同时会存在并发失败的情况:
如果回收的速度小于内存分配的速度就会触发fullGC,这样暂停时间就久了。
如果一个对象太大了,一个格子存不下。可能会用一块大的连续的处理

1.新生代回收
新生代的占比不固定5%~6% 。G1自动调整。伊甸园满了之后就会触发young GC


2.并发标记阶段
还会重新标记,处理漏标的对象,这个时候会触发STW

3.混合收集阶段
回收:回收效率高的老年代,和servori 区 和Eden区
混合收集可能执行多次。


多次混合回收之后:


14.强、软、弱、虚引用



15.JVM调优在哪配置
1.war包项目

2.jar包项目

3.总结

16.JVM调优参数




17.JVM调优工具

18.内存泄漏排查思路


19.CPU彪高的排查思路




8581

被折叠的 条评论
为什么被折叠?



