java 垃圾收集-复制算法,不用进行标记吗?

标记-清除、标记整理算法都有个标记的过程,用来确定哪些对象需要被回收。那复制算法没有标记过程吗?没有的话怎么确定哪些对象是活着的?
还是说直接从把存在于引用链上复制一遍就可以?而标记-清除、标记整理算法需要遍历所有对象,并且判断对象是否在引用链上?
#Java工程师#
全部评论
深入理解JVM上的原话是 “当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次性清理掉” 。我的理解是把存在于引用链上对象复制到另一块内存上面就可以,不用标记那些需要清理的对象。求大佬们解惑。。。
点赞 回复 分享
发布于 2017-08-27 13:04
都需要先标记出在引用链上的对象,标记清除算法-遍历所有对象将没有标记的对象清除掉,标记整理算法-将存活的对象移动到一端-老年代,复制算法-将存活的对象复制到另一块内存上,原来那块内存全清理掉-年轻代
点赞 回复 分享
发布于 2017-08-27 13:59
标记。可达性分析是java垃圾回收的前提。
点赞 回复 分享
发布于 2017-08-27 13:37
肯定用啊  不标记咋知道哪个是垃圾。。
点赞 回复 分享
发布于 2017-08-27 13:27
有标记的
点赞 回复 分享
发布于 2017-08-27 12:54

相关推荐

03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务