深机笔记 - 03 确定对象已死的2种算法
2017-07-10 18:30
531 查看
3.2节
1.引用计数算法
算法思路:给对象添加引用计数器,有引用时加1,引用失效时减1,计数器为0,对象不可用
实现简单,判定效率高,但主流Java虚拟机没有选用,主要原因是它很难解决对象之间相互循环引用问题
2.可达性分析算法
基本思路:将"GC Roots"对象作为起始点,从起始点开始向下搜索,搜索经过的路径称为引用链(ReferenceChain),没有与任何引用链相连的对象不可用
在Java语言中可作为“GC Roots”的对象有:
虚拟机栈(栈帧中的本地变量表)中引用的对象
方法区中类静态属性引用的对象
方法区中常量引用的对象
本地方法栈中JNI(即一般说的Native方法)引用的对象
1.引用计数算法
算法思路:给对象添加引用计数器,有引用时加1,引用失效时减1,计数器为0,对象不可用
实现简单,判定效率高,但主流Java虚拟机没有选用,主要原因是它很难解决对象之间相互循环引用问题
2.可达性分析算法
基本思路:将"GC Roots"对象作为起始点,从起始点开始向下搜索,搜索经过的路径称为引用链(ReferenceChain),没有与任何引用链相连的对象不可用
在Java语言中可作为“GC Roots”的对象有:
虚拟机栈(栈帧中的本地变量表)中引用的对象
方法区中类静态属性引用的对象
方法区中常量引用的对象
本地方法栈中JNI(即一般说的Native方法)引用的对象
相关文章推荐
- 《Javascript高级程序设计》(第2版)学习笔记03--对象
- Effective c++ 学习笔记——条款04:确定对象被使用前已先被初始化
- Effective C++学习笔记 条款04:确定对象被使用前已先被初始化
- 黑马程序员_java基础笔记(03)...面向对象
- 黑马程序员_java基础笔记(03)...面向对象
- 学习笔记之 equals() vs. == 和String对象的2种创建过程
- Generic Programming and the STL笔记2--“不改变操作对象之内容”的算法
- 【算法学习笔记】14.暴力求解法03 回溯法01 N皇后和素数环
- 【算法学习笔记】03.白书练习题stat(排序入门:冒泡,桶)
- 【算法学习笔记】16.暴力求解法04 回溯法03 剪枝法 带宽
- Effective C++笔记之三确定对象在使用前已初始化
- JVM学习笔记-对象标记算法
- 算法学习笔记----确定n个元素的任何排列中逆序对的数目
- 【算法学习笔记】14.暴力求解法03 回溯法01 N皇后和素数环
- 数据结构与算法学习笔记03(腾讯面试题)
- Effective c++ 学习笔记——条款04:确定对象被使用前已先被初始化
- 韩顺平_PHP程序员玩转算法公开课(第一季)03_单链表crud操作之_水浒英雄排行算法_学习笔记_源代码图解_PPT文档整理
- 考试笔记03_数据结构_基本算法复杂度
- 算法笔记03--归纳法之生成排列
- 算法导论笔记:03渐进符号