垃圾收集算法
来源:互联网 发布:centos查看防火墙端口 编辑:程序博客网 时间:2024/06/05 14:12
1、 标记-清除算法
最基础的垃圾收集算法,是其他收集算法的基础,分为标记和清除俩阶段,先标记待回收的对象,在进行回收。主要有俩个缺点:1、效率不高,2、空间问题,标记清除之后会有大量的内存碎片,以致于之后分配大对象时无法找到足够的连续的内存空间而不得不提前触发另一次垃圾回收行为。
2、 复制算法
为了解决效率和内存碎片问题,复制算法把内存划为大小相等的俩块,每次只使用其中的一块,等一块使用完之后再把这块存活的对象复制到另一块上,在把使用过得第一块内存清理,此方法效率较高,但是内存使用率不高,不过现在JVM一般吧复制算法使用在新生代,俩块内存的分配比为8:1,因为新生代大部分对象都是朝生夕死。
3、 标记-整理算法
复制算法在对象存活率高的情况下就要执行较多的复制工作,效率变低,如果不想浪费50%的空间,就需要额外的空间进行分配担保,老年代一般不使用此算法,标记整理算法是把存活对象移动到一端,直接清理掉边界以外的内存,适合在对象存活时间长的老年代使用
一般虚拟机现在都是用分代收集机制,Java堆分为新生代和老年代,新生代适合使用复制算法,老年代适合标记整理算法。
0 0
- 4、垃圾收集之垃圾收集算法
- 垃圾收集算法和垃圾收集器
- 垃圾收集算法和垃圾收集器
- 垃圾收集算法与垃圾收集器
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- Java垃圾收集算法
- 垃圾收集算法
- 垃圾收集算法
- JVM垃圾收集算法
- 垃圾收集算法
- 垃圾收集算法
- 垃圾收集,火车算法
- 垃圾收集算法
- JVM垃圾收集算法
- HDOJ 寻找素数对 1262
- leetcode 日经贴,Cpp code -Maximal Square
- A. Toy Cars
- 魔狼地址:https://bitbucket.org/moLangZaiShi/demo/downloads
- 百度地图SDK 详解 应用(官方)
- 垃圾收集算法
- Oracle学习(十一)之使用RMAN对数据库做在线完全备份
- gdb调试ns3出现的问题-找不到库
- ios一些关键字
- MFC:判断点(POINT)是否在某一区域(CRect)
- google访问
- 梯度下降法-线性拟合
- java获取随机数之一
- linux c select函数使用求解释