JVM垃圾收集算法(标记-清除、复制、标记-整理)
2024-10-16 13:13:16
【JVM垃圾收集算法】
1)标记-清除算法:
标记阶段:先通过根节点,标记所有从根节点开始的对象,未被标记的为垃圾对象(错了吧?)
清除阶段:清除所有未被标记的对象
2)复制算法:
将原有的内存空间分为两块,每次只使用一块,在垃圾回收时,将正在使用的内存中的存活对象复制到未被使用的内存块中,然后清除正在使用的内存块中的所有对象。
3)标记-整理算法:
标记阶段:先通过根节点,标记所有从根节点开始的可达对象,未被标记的为垃圾对象
整理阶段:将所有的存活对象压缩到内存的一段,之后清理边界所有的空间
三种算法的比较:
效率: 复制 > 标记整理 > 标记清除 (此处的效率只是简单的对比时间复杂度,实际情况不一定如此)
内存利用率: 标记整理 > 标记清除 > 复制
内存整齐度: 复制 = 标记整理 > 标记清除
最新文章
- 输入scanner,if-else
- Cell的一些坑: UITableViewCell宽度,在iphone5的时候是320,在iphone6的时候为啥也是320?
- 学习Nim语言.rar(nim语言中文教程下载)
- 【转】TCP协议的无消息边界问题
- POJ 3258 River Hopscotch
- DDR(二)
- Windows 7 + Visual Studio 2012 + cocos2d-x 2.1.5
- BestCoder Round #49
- switch 与 whille相互套用
- js模块化加载器实现
- MySQL InnoDB下关于MVCC的一个问题的分析
- 用tar压缩xz格式出错
- 简述at和crontab命令
- 「Android」单例的五种写法
- (python)数据结构---元组
- javascript——获取列表选择行的列值
- DrawDibDraw__ZC测试
- malloc和free的实现
- 解决MAC下xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)的问题
- js获取dom元素的子元素,父元素,兄弟元素小记