java gc 算法

这篇随笔默认你已经了解java的内存模型了,并且对gc算法有简单的了解,图可以让你更清晰。

在Java语言中,GC Roots包括:

虚拟机栈中引用的对象。

方法区中类静态属性实体引用的对象。

方法区中常量引用的对象。

本地方法栈中JNI引用的对象。

 

Mark-and-sweep算法

 

 

copying算法

mark-and-compact算法

 分代算法

  在研究真实的虚拟机环境之后,开发人员发现,有一部分适合用copying,实例快生快死,一部分则适合用mark-and-compact算法,整个生命周期都存在。而分代算法的含义就是将虚拟机空间分为两代,不同的类型,不同的gc算法。

posted @ 2017-08-24 11:35  身带吴钩  阅读(294)  评论(0编辑  收藏  举报