初识垃圾回收机制

  作者:记性不好的阁主

垃圾回收的工作:当它工作时,一面回收空间,一面使中的对象紧凑排列

Java虚拟机采用一种自适应的垃圾回收技术。

做法一:停止——复制

先将所有存活的对象随机分配到堆中,然后再停止程序运行,对分散的存活的对象从当前堆复制到新堆,使其紧凑排列,这样就可以简单、直接的分配新的空间。

做法二:标记——清扫

遍历所有的引用,找到所有存活对象,每当找到一个存活的对象,就会给这个对象投一个标记,这个过程中不会回收任何的垃圾,当遍历完全部的对象,才会启动清理。


自适应:如果对象都很稳定,垃圾回收器的效率降低的话,会从停止——复制切换到标记——清扫方式,如果堆空间出现很多碎片的话,就会切回停止——复制方式。


相关推荐

评论 抢沙发

表情

分类选择