本文主要是介绍JVM Knowleadge-垃圾回收GC Roots Tracing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文参考了周志明的《深入理解Java虚拟机:JVM高级特性与最佳实践》,这本书写的非常好!极力推荐!》
JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别。
定义:
通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜索走过的路径称为ReferenceChain,当一个对象到GCRoots没有任何ReferenceChain相连时,(图论:这个对象不可到达),则证明这个对象不可用。
可以作为GC Root 引用点的是:
- JavaStack中的引用的对象。
- 方法区中静态引用指向的对象。
- 方法区中常量引用指向的对象。
- Native方法中JNI引用的对象。
这篇关于JVM Knowleadge-垃圾回收GC Roots Tracing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!