zoukankan      html  css  js  c++  java
  • JVM GC Roots

    如何确定一个堆中的对象是否死去?

    两个思路:

      1、引用计数法

        给每个对象添加一个引用,用来统计指向该对象的引用计数。有引用时就加1,引用失效时就减1。任何时候引用计数为0,该对象就死亡了。可以被当做垃圾处理。但引用计数法有个难以解决的问题:循环引用。

      2、可达性分析算法

        通过一系列的被称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链时,则证明此对象不可用,会被判定为可回收的对象。

        可达性分析算法可以解决引用计数法中的循环引用问题。

    什么是GC Roots?

      GC Roots是一些由堆外指向堆内的引用。

      作为GC Roots的对象包括以下几种:

      1、虚拟机栈(帧栈中的本地变量表)中引用的对象。

      2、方法区中类静态属性引用的对象。

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

      4、本地方法栈中JNI(Native方法)引用的对象。

  • 相关阅读:
    [SCOI2015]国旗计划
    [SCOI2015]小凸玩矩阵
    点分治复习笔记
    [HNOI2014]米特运输
    [HNOI2015]接水果
    [HEOI2016/TJOI2016]游戏
    为什么验证集的loss会小于训练集的loss?
    转载GPU并行计算
    深度学习图像标注工具汇总(转载)
    你理解了吗?
  • 原文地址:https://www.cnblogs.com/natian-ws/p/10729914.html
Copyright © 2011-2022 走看看