gpt4 book ai didi

Java 垃圾收集器说明

转载 作者:行者123 更新时间:2023-12-01 16:40:44 25 4
gpt4 key购买 nike

现在我正在阅读这篇关于 Java 垃圾收集的文章:http://www.javaworld.com/javaworld/jw-08-1996/jw-08-gc.html

这是 JMS 客户端中的函数片段

public void foo(){
...//Create Connection factory, connection, and session, topic

TopicSubscriber tp = session.createDurableSubcriber(topic,"001");
tp.setMessageListener(this)
}

这个问题与 JMS 无关,而是更多关于 foo() 函数调用结束后对象“tp”发生的情况。函数结束后就无法再引用 tp 了。我假设在 createDurableSubscriber() 中它使用关键字“new”,这意味着该对象被放置在 JVM 堆上。但是,由于 tp 无法再被引用,它是否会受到 JVM 垃圾回收的影响?

最佳答案

您需要查看 session.createDurableSubcrimer() 的源代码,看看它是否没有存储将返回给您的值。

请记住,您基本上获得的是对象的指针(在 Java 中称为引用),而不是对象本身,并且即使您只有一个对象,该指针也可以存储在多个位置。在垃圾收集器回收对象之前,必须完成所有这些指针引用。

关于Java 垃圾收集器说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com