垃圾收集java

垃圾收集java,java,garbage-collection,Java,Garbage Collection,java中的垃圾收集器是如何确定程序不再引用对象的?这取决于VM,但这是关于同一主题的前一个问题: 这里的链接(我现在想自己读一下!)是:JVM维护所有引用对象的映射。 每个GC循环(java、train、mark和sweep等中有许多GC方法)都会遍历整个对象引用列表(注意,对象引用位于堆栈中,数据位于堆中),所有不再引用的对象引用都会标记为准备进行垃圾收集/垃圾收集 这是一种理解GC的简化方法,但是大多数开发人员不需要知道GC过程的内部结构;但是有一些了解是很好的 以下是您可能感兴趣的一些链

java中的垃圾收集器是如何确定程序不再引用对象的?

这取决于VM,但这是关于同一主题的前一个问题:


这里的链接(我现在想自己读一下!)是:

JVM维护所有引用对象的映射。 每个GC循环(java、train、mark和sweep等中有许多GC方法)都会遍历整个对象引用列表(注意,对象引用位于堆栈中,数据位于堆中),所有不再引用的对象引用都会标记为准备进行垃圾收集/垃圾收集

这是一种理解GC的简化方法,但是大多数开发人员不需要知道GC过程的内部结构;但是有一些了解是很好的

以下是您可能感兴趣的一些链接:

希望这有帮助…

看看这个

  • 参考:

    图:对象的一般集合


    图:对象的内存集合


    “JVM维护所有引用对象的映射。”-不完全如此。在某些情况下,GC有效地构建了从“旧空间”复制到“新空间”的对象的临时映射。在另一种情况下,在对象的头中只有一个位指示它被引用。。。而且根本没有映射。“…遍历了对象引用的整个列表”-我从未听说过任何GC生成或使用了所有对象引用的列表。@Stephen C我为错误的信息感到抱歉。你的观点是正确的。“Zach L”请注意Stephen的更正。谢谢你,斯蒂芬。