JVM面试题

2018-08-12  本文已影响0人  重新崛起

CMS垃圾收集器

目标:以获取最短回收停顿时间为目标的收集器

回收区域:老年代

回收算法:标记-清除

回收过程:初始标记——>并发标记——>重新标记——>并发清除

标记算法:使用GC root,可达性分析算法

优点:并发收集,低停顿

缺点:1,CMS收集器对cpu资源非常敏感,cpu要多;

            2,CMS收集器无法处理浮动垃圾(回收过程中新产生的垃圾),可能失败导致一直Full GC;失败原因是预留的内存无法满足程序运行需要。

            3,标记-清楚算法会产生空间碎片,通过参数指定在Full GC时开启内存合并整理。

    GC root对象

1,虚拟机栈(栈帧中本地变量表)中引用的对象

2,方法区中类静态属性引用的对象

3,方法去中常量引用的对象

4,本地方法栈中JNI(native方法)引用的对象

    JVM内存管理

jdk8之前内存划分

hotspot在jdk7中将常量和字符串常量池从方法去移到了堆中。

之前方法区习惯称为永久带;

在jdk8中,永久带已经不存在,存储的类信息,编译的代码数据都已经存储在元空间(MetaSpace);

元空间没有处于堆内存上,而是处于本地内存(NativeMemory);

上一篇下一篇

猜你喜欢

热点阅读