《深入理解jvm》笔记---第三章
来源:互联网 发布:淘宝3d样板间 编辑:程序博客网 时间:2024/05/22 03:16
第三章 垃圾收集器与内存分配策略
1. 对象已死吗?
在堆里面存放着Java世界里几乎所有对象的实例,垃圾收集器在对堆进行回收之前,第一件事情就是要确认这些对象中哪些还存活着,哪些已经死去。
在主流的商用程序设计语言的主流实现中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思路是:通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何的引用链相连,则证明此对象是不可用的。
可达性分析算法判定对象是否可回收
在Java中,可作为GC Roots的对象主要包括以下几种:
(1)虚拟机栈(栈帧中的本地变量表)中引用的对象;
(2)方法区中类静态属性引用的对象;
(3)方法区中常量引用的对象;
(4)本地方法栈中JNI(即一般说的本地方法)引用的对象。
2. 生存还是死亡?
3. 垃圾收集算法:
(1)标记-清除算法。
(2)复制算法。
(3)标记-整理算法。
(4)分代收集算法。
1 0
- 《深入理解jvm》笔记---第三章
- 深入理解JVM笔记
- 笔记:深入理解JVM 第三部分 虚拟机执行子系统 (第6、7、8、9章)
- 《深入理解jvm》笔记---第二章
- 《深入理解jvm》笔记---第六章
- 《深入理解jvm》笔记---第七章
- 《深入理解jvm》笔记---第八章
- 深入理解JVM笔记-第12章
- 深入理解JVM笔记-第13章
- 深入理解Linux内核 第三章笔记
- 《深入理解jvm》笔记---第一章
- 深入理解JVM笔记三
- 深入理解jvm笔记1
- 20150906 深入理解JVM之入门笔记
- 《深入理解JVM》学习笔记(1)
- JVM相关笔记(深入理解Java虚拟机)
- Java与JVM深入理解笔记
- 深入理解JVM笔记之内存管理机制
- 文本输入框中的提示点击消失,点击出现
- CSS内外边距样式
- 第3周项目4-顺序表应用问题(1)
- Inf2Cat应用的参数使用详细介绍(inf2cat生成cat文件)
- 第三周 项目四 【顺序表应用 2】
- 《深入理解jvm》笔记---第三章
- Xubuntu15.04更新系统源时出现错误提示W: GPG 错误:http://archive.ubuntukylin.com:10006 xenial InRelease: 由于没有公钥,无法验证
- androidstudio无法真机运行
- OpenCV 图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 十大编程算法助程序员走上高手之路
- Swift UIImageView 相框
- Zsh使用
- QT里滚动字幕如何做
- linux 进程创建clone、fork与vfork