内存分配策略之可达性分析算法

java中判断一个对象是否需要回收使用的是可达性分析算法!

可达性分析算法:通过一些被称为GC Roots的对象做为起点,从这些对象向下所搜。搜索过程中走过的所有路径被称为引用链,对象没有引用链与GC Root对象相连,则被认为是不可用对象

如图(图片来自网络):

 可当做GC Roots的对象:

  1. 虚拟机栈(栈针中的背地变量表)中引用的对象
  2. 方法区中静态属性引用的对象
  3. 方法区中常量引用的对象
  4. 本地方去栈中JNI(也就是Native方法)引用的对象

 

posted @ 2019-03-15 15:03  一天学点  阅读(376)  评论(0编辑  收藏  举报