这真的没有什么做GC是非确定性的,虽然它不帮助! (这是你的例子中的一个原因,但即使我们'固定'它来消耗内存和强制收集,它仍然不会最终确定)执行器创建的线程是内部类,它具有返回执行器本身的引用。 (他们需要它能够看到队列,runstate等!)运行线程不是垃圾收集,所以在池中的每个线程都有这个引用,他们将保持执行器活着,直到所有线程都死了。如果你不手动做某事停止线程,他们将永远运行,你的JVM永远不会关闭。