垃圾收集算法
来源:互联网 发布:尔雅网络通识课 编辑:程序博客网 时间:2024/06/06 01:26
1.标记-清除算法
回收前,将可回收的进行标记,然后回收。
不足:标记清除后可能产生大量的不连续的碎片,碎片太多,导致以后程序中需要更大的内存空间,而无法找到连续内存,而不得不提前触发另一次垃圾收集。
2.复制算法
将内存容量分为大小相等的两块,每次只用一块a,当这一块a容量满了的时候,就将其还存活的对象复制到另一块b上去,并进行一次垃圾清除,这样a就为空,这种算法现在主要用于回收新生代内存空间,将内存划分为较大的Eden区域和两块较小的survivor区域,每次使用Eden和其中一块Survivor区域,将这两块区域中还存活的对象,一次性全复制到另一块Survivor区域。
3.标记-整理算法(主要针对老年代)
先标记,然后让存活的对象移向一边,然后进行清理边界以外的内存。
4.分代收集算法
在java中将堆内存分为新生代和老年代,新生代因为每次垃圾收集有大批对象死亡,只有少量存活,就用复制算法,老年代“标记-清除”/“标记-整理”
0 0
- 4、垃圾收集之垃圾收集算法
- 垃圾收集算法和垃圾收集器
- 垃圾收集算法和垃圾收集器
- 垃圾收集算法与垃圾收集器
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- java垃圾收集算法
- Java垃圾收集算法
- 垃圾收集算法
- 垃圾收集算法
- JVM垃圾收集算法
- 垃圾收集算法
- 垃圾收集算法
- 垃圾收集,火车算法
- 垃圾收集算法
- JVM垃圾收集算法
- 入职一周
- Java Socket超时浅析
- 常见预定义的宏解释:__DATE__,__TIME__,__FILE__,__LINE__
- 分布式的TensorFlow
- C# out和ref之间的区别
- 垃圾收集算法
- 覆盖的面积 hdu1255 扫描线+线段树
- mysql 学习站点
- 【案例】思科的5人DevOps 团队是如何打造千万工件级别,5中心持续交付平台的?
- 微信小程序-它是啥?了解了解
- zynq 常见缩写术语
- Linux开启CoreDump功能
- C#中的引用传递、值传递
- 开始写博文