Jvm系列(3)java GC算法垃圾收集器

 365bet娱乐     |      2019-05-10 05:36
垃圾收集器GC算法
摘要
GarbageCollection垃圾收集通常称为GC。她于1960年出生于麻省理工学院的Lisp语言。半个多世纪后,她非常成熟。
JVM,程序计数器,虚拟机堆栈,本机方法堆栈由线程和外部线程,I / O方法堆栈框架以及推送和弹出操作创建,以实现清理。因此,自动内存,即内存中的垃圾收集,主要集中在存储和Java方法上。程序运行时,这部分内存的分配和使用是动态的。
对象生存试验
有两种方法可以确定对象是否存活。
引用计数:每个对象都有一个属性计数,当它被释放并且新引用计数增加1时,引用计数增加1,并且可以通过引用获得零计数。
这种方法很简单,并没有解决对象之间循环引用的问题。
范围分析:从GCRoot搜索时,用于搜索的路径称为参考字符串。
当一个对象连接到没有引用字符串的GCRoots时,它证明该对象不可用。
无法访问的对象
在Java语言中,GCRoots包含:
虚拟机堆栈中引用的对象。
方法区域中的静态类属性实体引用的对象。
方法区域中的常量引用的对象。