概述
翻译自:https://dzone.com/articles/java-garbage-collection-2
使用new运算符动态创建的对象将自动释放。实现此目的的技术称为垃圾收集。它的工作方式如下:当不存在对对象的引用时,假定不再需要该对象,并且可以回收该对象占用的内存。
自动垃圾收集如何工作?
自动垃圾收集的工作原理是查看堆内存,识别哪些对象被引用,哪些不被引用,以及删除未使用的对象。这被广泛称为“ 标记和扫描算法”。
解除分配内存的过程由垃圾收集器自动处理,分两步:
第1步:标记
这是垃圾回收器标识正在使用的内存片段和未使用的内存片段并标记不再引用的对象的第一步。
第2步:删除
在此步骤中,将删除步骤1中不再引用的所有标记对象并回收内存。
这可以用两种类型完成:
2a)正常删除
在此删除中,内存分配器保存对可以分配新对象的可用空间块的引用,如下图所示。
2b)压缩删除
在此过程中,除了删除未引用的对象之外,不仅仅是从内存中删除对象,还会压缩剩余的对象以进一步提高性能。通过将引用的对象移动到一起,这使得新的内存分配更加容易和快速。
来源: Oracle Java Docs
有关垃圾收集如何工作的更多信息,请参阅此 Oracle Java Docs。
最后
以上就是俊逸羊为你收集整理的了解有关Java中自动垃圾回收的基本信息。的全部内容,希望文章能够帮你解决了解有关Java中自动垃圾回收的基本信息。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复