【发布时间】:2019-04-07 10:37:01
【问题描述】:
假设我通过发出命令 kill -9 pid 硬杀死一个 java 进程,jvm 会停止还是运行垃圾收集器并回收堆中的内存然后停止执行。
【问题讨论】:
-
它会立即死去,你说什么都不会发生。
-
即使你调用
System.exit它也不会正常运行垃圾收集器。在这种情况下,将调用关闭挂钩,但如果进程即将消失,则无需释放内存或操作系统资源。 -
感谢您的回答。
-
是的 - 这与杀死任何进程一样。操作系统从所有正在运行的线程中删除执行,并释放所有使用的资源、内存等。JVM,以及它可能一直在运行的东西,就不再存在了。
标签: java linux operating-system