垃圾收集中的疏散和压实之间的根本区别是什么?

 飞翔的小鸟52588 发布于 2023-02-07 16:20

我已经阅读了大量有关Java SE 6和7的HotSpot GC的文档.在谈到获得自由记忆的连续区域的策略时,提出了两种"竞争"方法:疏散方法(通常应用于年轻一代) ),将活动对象从"从"复制到空'到'和压缩(CMS的后退),其中活动对象移动到碎片区域内的一侧,形成一个连续的未使用块记忆.

两种方法都与"实时集"的大小成比例.不同之处在于疏散需要x2倍的空间,而实际集合则不需要压缩.

为什么我们需要撤离技术呢?需要完成的复制量是相同的,但是它需要保留更多的堆大小,并且不允许更快地重新映射引用.

是的:疏散可以并行执行(其中 - 压缩不能,或者至少不那么容易),但这个特性从未被提及过,并且看起来并不那么重要(考虑到重新映射比移动要昂贵得多).

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有