Java垃圾回收主要算法
1.标记清除
先标记出垃圾,然后再清除垃圾。
标记时利用可达性分析,可达的对象刨除,不可达的对象标记为垃圾,然后将其清除,即释放该对象所占的内存空间。
优点:简单,容易实现
缺点:可能会产生大量的内存碎片
例如,假设有五个对象占用五份内存,此时2,4为垃圾,则将其所占空间释放,空闲的空间就会和正在使用的空间穿插开了,变成一块块空间碎片。
但在代码中我们经常会申请一个连续的内存空间,如果碎片太多,总的剩余空间有50M,但是是由50个1M的空间碎片组成,如果我们想要申请一个3M的连续空间,则无法满足。
2.复
原创
2021-09-27 22:47:37 ·
298 阅读 ·
0 评论