java 程序如何停止
停止 Java 程序的方法
使用 System.exit()
调用 System.exit(int status) 可以立即终止 JVM。参数 status 为退出状态码,非零值通常表示异常终止。
示例代码:
System.exit(0); // 正常退出
通过主线程结束
如果程序仅运行主线程,main 方法执行完毕后程序会自动终止。确保所有非守护线程(非-daemon)完成任务即可。
中断循环或条件控制
对于循环或条件控制的程序(如 GUI 事件循环),可通过修改循环条件或调用 break 终止。
示例:
while (running) {
// 业务逻辑
if (shouldStop) {
running = false; // 终止循环
}
}
使用守护线程
守护线程(Daemon Thread)会在所有非守护线程结束时自动终止。通过 setDaemon(true) 设置线程属性。
示例:
Thread daemonThread = new Thread(() -> {
while (true) {
// 后台任务
}
});
daemonThread.setDaemon(true);
daemonThread.start();
抛出未捕获异常
未捕获的异常可能导致线程终止,但需谨慎使用,可能引发资源未释放等问题。
外部终止(强制)
通过操作系统命令(如 kill -9 PID)强制结束 JVM 进程,不推荐用于正常流程。

注意事项
- 确保释放资源(如关闭文件、数据库连接)后再退出。
- 避免频繁使用
System.exit(),可能影响调用方(如被其他程序集成时)。 - 多线程环境下需协调所有线程的终止逻辑。






