Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经看到许多 Thread java 示例和 Runnable 对象被创建为任务并传递给线程。由于没有引用这些任务,那么为什么这个任务没有被 java 垃圾收集呢?还是垃圾收集了,我在这里问错了问题?请分享您宝贵的想法。
您没有对对象的显式引用这一事实并不意味着内部 JVM 对象不持有它。
举个例子:
frame.add(new JButton("foobar"));
从开发人员的角度来看,没有对它的引用,但框架内部有一个组件列表。这就是线程发生的情况,内部调度程序必须确保对它们保持引用。
线程本身将在从调度程序释放时被垃圾收集(因此不再有效地存在对它的引用)