JVM垃圾回收机制

JVM垃圾回收机制

JVM的组成

JVM垃圾回收机制

程序计数器

执行class文件到达哪一行了,线程私有的,不会发生内存泄漏。

内存管理最大的一部分,当程序里new出一个对象,或者声明一个数组时,都会在堆内存中申请出一块空间。

分为新生代、年老代、永久代。

发生异常时是因为往里面添加的对象太多。

JVM垃圾回收机制

虚拟机栈

线程私有,与线程共存。

发生异常时是因为方法进去后无法出栈。

JVM垃圾回收机制

本地方法栈

直接跟操作系统打交道,不加载Java方法,与虚拟机栈互相调用。

方法区

JVM垃圾回收机制

JVM垃圾回收机制

内存分配与回收策略

判断对象已死的算法

引用计数器算法(Java中现在不使用)

可达性分析算法(目前在使用)

JVM垃圾回收机制

再谈引用

JVM垃圾回收机制

垃圾回收算法

标记-清除算法

JVM垃圾回收机制

标记-整理算法

JVM垃圾回收机制

复制算法

JVM垃圾回收机制

分代垃圾回收

JVM垃圾回收机制

JVM垃圾回收机制

垃圾收集器

Serial收集器

JVM垃圾回收机制

PerNew收集器(Serial收集器的多线程版本)

JVM垃圾回收机制

Parallel Scavenge收集器

JVM垃圾回收机制

Serial Old收集器

Serial收集器的老年代版本。

Parallel Old收集器

Parallel Scavenge收集器老年代版本。

CMS收集器(边污染边清除)

JVM垃圾回收机制

G1收集器

JVM垃圾回收机制

JVM垃圾回收机制

常见参数分配

JVM垃圾回收机制

参考资料

上一篇:微软最新社会招聘职位列表


下一篇:面试官:说一下JVM常用垃圾回收器的特点、优劣势、使用场景和参数设置