虚拟机3.3垃圾收集算法
来源:互联网 发布:吉他简谱制作软件 编辑:程序博客网 时间:2024/06/08 03:15
3.3.1 标记-清除算法
先标记、再清除。缺点是标记和清除的效率不高,容易留下内存碎片,在分配较大对象时不得不再次进行GC。
3.3.2 复制算法
将内存两等分,每次使用其中一半,在GC前,将存活的对象从A复制到另一半B,然后将A全都清空。不会有碎片,但是使用率低。
用这种算法可以回收新生代,新生代98%‘朝生夕死’,将内存分为三块,第一块80%空间存放新生代,第二块10%空间存放Survivor,第三块10%是GC时可以把存活的对象copy到这里,相当于利用率达90%。但这只是应对一般场景,因此Survivor空间不够用时,需要老年代内存进行‘分配担保’。当存活对象占用内存较大,可将一些活的对象变成老年代,进入老年代内存。
3.3.3 标记-整理算法
先标记-清除,在GC前将对象向内存一端移动,消除碎片内存。
3.3.4 分代收集算法
当前虚拟机大都采用分代收集算法,根据对象存活周期将内存分成几块。一般将堆分成老年代和新生代,根据各个年代的特点采用适当的收集算法。对于新生代用复制算法,老年代用标记-清理/整理算法进行回收。
阅读全文
0 0
- 虚拟机3.3垃圾收集算法
- 虚拟机垃圾收集算法
- Java虚拟机 - 垃圾收集算法
- java虚拟机-垃圾收集算法
- java虚拟机---垃圾收集算法
- Hotspot虚拟机- 垃圾收集算法和垃圾收集器
- java虚拟机--垃圾收集算法与垃圾收集器
- Hotspot虚拟机- 垃圾收集算法和垃圾收集器
- 3.3 垃圾收集算法
- 虚拟机学习系列 - 3 - 垃圾收集算法
- Java虚拟机学习 - 垃圾收集算法
- Java虚拟机学习 - 垃圾收集算法
- Java虚拟机的垃圾收集算法
- Java虚拟机学习 - 垃圾收集算法
- Java虚拟机学习 - 垃圾收集算法
- 深入java虚拟机 - 垃圾收集 - 火车算法
- 分Java虚拟机的垃圾收集算法
- Java虚拟机学习 - 垃圾收集算法
- Java JList的使用和事件响应
- 单点登录原理与简单实现
- Oracle SQL 之 数学计算-开方根(咋个办呢 zgbn)
- pyhton爬虫笔记之实战 爬取淘宝商品价格和名称
- [转载]技改之路:从单块应用到微服务,我的血泪总结
- 虚拟机3.3垃圾收集算法
- 第二章变量和基本类型17.11.8
- centos7下完全式hadoop集群搭建
- php扩展开发---使用CLion开发PHP扩展
- Zsim+nvmain安装
- 报错上传到bugly进行统计
- PASCAL VOC数据集介绍
- spring事务传播行为笔记
- ShoeCAM v4.2 1CD(鞋模专业CAM系统,智能路径规划)