gpt4 book ai didi

java - 线程停止后,线程执行期间创建的对象是否存在?

转载 作者:行者123 更新时间:2023-12-02 00:26:44 27 4
gpt4 key购买 nike

我在窗口中有一个 JButton“MAIN_BUTTON”。单击它时,每次都会启动一个新线程

新创建的线程依次调用另一个类的方法,该类显示一个新的“child_window”*(使用构造函数并创建它的对象)*。该窗口上有两个按钮“接受”和“拒绝”。当按下这些按钮中的任何一个时,就会完成一些工作并关闭此窗口。

现在我想知道在停止线程后“CHILD_WINDOW”对象是否被销毁或者仍然存在于内存中。

最佳答案

Now I want to know after stopping the thread whether the "CHILD_WINDOW" object is destroyed or it still exists in memory.

在一般情况下,答案取决于线程对对象的引用所做的操作。如果它把它放在某个地方意味着它是“可到达的”,那么该对象仍然存在。如果没有,它可能会不复存在,具体取决于 GC 是否以及何时开始收集它。

我不完全确定 Window 对象会发生什么。我怀疑图形上下文(或其他东西)中可能存在对对象的一些引用,这意味着 Window 将保持可访问状态,直到某些应用程序级代码显式关闭或处置它。 (否则,您会听到 Swing 窗口随机消失的故事......由于被垃圾收集器回收。)

关于java - 线程停止后,线程执行期间创建的对象是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9884701/

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