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.
我有一个 JFRAME,它的 setDefaultCloseOperation 为 JFrame.DISPOSE_ON_CLOSE。但问题是它的大部分线程在被处理后都没有关闭。如果我把它放在 JFrame.Exit_ON_CLOSE 我的整个系统退出,这不是我想要的。有没有办法在关闭后处理并完全释放它的所有线程和资源,而不是让我的所有系统退出?
如此处所示,主机平台为顶级容器的重量级对等方分配的一些内存可能在 JVM 退出之前不会被回收。权宜之计是使用单个顶级容器。JVM在正常执行过程中可能会使用多个宿主线程;分析您的应用程序以识别泄漏。例如,将活动线程显示与线程转储进行比较可能会有所帮助。
EXIT_ON_CLOSE 将退出应用程序。您必须手动清除 JFrame 和(用户调用的任何线程)。使用
frame.dispose();