16.三种基本的GC算法基石
2016-06-01 11:13
183 查看
1.GC标记、清除算法
由于内存中对象构成一个树,当内存耗尽时,程序停止(如果不停止新new对象时标记出错)。此时程序对对象进行标记和清除。
缺点:停止程序运行,降低用户体验。且释放的内存空间不连续。
2.GC的复制算法
先找出活动对象存储到空白区域,然后把原来的对象空间清空。
缺点:虽然活动空间连续,但是耗内存,且对象空间满的情况下,复制只是单纯的耗内存,并没有清理出多余的空间
3.GC标记,整理算法。
采用标记的方法,同时整理出有效的对象组成一段连续的区域。是基于1和2算法的平衡。
由于内存中对象构成一个树,当内存耗尽时,程序停止(如果不停止新new对象时标记出错)。此时程序对对象进行标记和清除。
缺点:停止程序运行,降低用户体验。且释放的内存空间不连续。
2.GC的复制算法
先找出活动对象存储到空白区域,然后把原来的对象空间清空。
缺点:虽然活动空间连续,但是耗内存,且对象空间满的情况下,复制只是单纯的耗内存,并没有清理出多余的空间
3.GC标记,整理算法。
采用标记的方法,同时整理出有效的对象组成一段连续的区域。是基于1和2算法的平衡。
相关文章推荐
- JS 获取当前系统时间
- iOS 字符串通过特定字符转变成数组
- view事件分发机制
- Eclipse中通过Tomcat运行JavaWeb项目发生内存溢出:java.lang.OutOfMemoryError: PermGen space 错误的解决方案
- 设置git提交忽略文件
- Keepalived+nginx造成流量异常
- java 如何合理的序列化对象
- Ruby+appium实现截图、滑屏、长按、日志输出到本地文件夹
- ios属性关键字(assign、copy、retain、nonatomic)
- VS调试
- uestc水题CD Making
- 多媒体_加载大图片,压缩图片
- js简单的五角星评分
- iOS开发---阿里巴巴IconFont适配技术
- Gitolite权限配置
- Windows Form中的TabControl重绘
- Office 365中管理员角色介绍-初级篇
- Android代码和JS 相互调用 html js
- ListView卡顿原因分析
- NSAttributedString图文详解