美文网首页
什么是GC ROOT?有哪些GC ROOT?

什么是GC ROOT?有哪些GC ROOT?

作者: 嘘寒问暖 | 来源:发表于2022-05-09 23:39 被阅读0次

上⾯提到的标记的算法,怎么标记⼀个对象是否存活?简单的通过引⽤计数法,给对象设置⼀个引⽤计数器,每当有⼀个地⽅引⽤他,就给计数器+1,反之则计数器-1,但是这个简单的算法⽆法解决循环引⽤的问题。

Java通过可达性分析算法来达到标记存活对象的⽬的,定义⼀系列的GC ROOT为起点,从起点开始向下开始搜索,搜索⾛过的路径称为引⽤链,当⼀个对象到GC ROOT没有任何引⽤链相连的话,则对象可以判定是可以被回收的。

⽽可以作为GC ROOT的对象包括:

1. 栈中引⽤的对象

2. 静态变量、常量引⽤的对象

3. 本地⽅法栈native⽅法引⽤的对象

相关文章

  • 什么是GC ROOT?有哪些GC ROOT?

    上⾯提到的标记的算法,怎么标记⼀个对象是否存活?简单的通过引⽤计数法,给对象设置⼀个引⽤计数器,每当有⼀个地⽅引⽤...

  • GCRoots

    转载Java中什么样的对象才能作为gc root,gc roots有哪些呢? java的gc为什么要分代? 所谓"...

  • GC root有哪些

    有哪些? native,本地方法栈引用的对象(在本地方法栈) final,常量对象(在方法区) static,静态...

  • Java常见的GC Root

    我们知道Java 进行GC的时候会从GC root进行可达性判断,常见的GC Root有如下: 通过System ...

  • GC Root:

    www.jianshu.com/p/5db05db4f5ab www.jianshu.com/p/6ab2a0f7...

  • gc root

    一、oopMap oop (ordinary object pointer) 普通对象指针,oopmap就是存放这...

  • Gc Root对象

    1. gc root对象有那些 1.1解释 常说的GC(Garbage Collector) roots,特指的是...

  • 垃圾回收

    1、引用计数器 2、可达性分析 GC Root: Java语言中,可做为GC Root的对象有以下几种: 虚拟机栈...

  • C#之垃圾回收机制

    什么是GC GC(Garbage Collector)就是垃圾收集器,这里仅就内存而言。以应用程序的root为基础...

  • Java的GC机制

    判断哪些对象需要被GC 堆 方法区 可达性分析方法(Java使用):通过判断对象是否被GC Root 直接或间接引...

网友评论

      本文标题:什么是GC ROOT?有哪些GC ROOT?

      本文链接:https://www.haomeiwen.com/subject/qwbkurtx.html