java如何退出系统
退出 Java 系统的几种方法
System.exit(int status)
使用 System.exit(int status) 方法可以立即终止当前运行的 Java 虚拟机。参数 status 表示退出状态码,通常 0 表示正常退出,非零值表示异常退出。
System.exit(0); // 正常退出
System.exit(1); // 异常退出
Runtime.getRuntime().exit(int status)
Runtime.getRuntime().exit(int status) 与 System.exit(int status) 功能相同,也是通过终止 JVM 来退出程序。
Runtime.getRuntime().exit(0);
Runtime.getRuntime().halt(int status)
Runtime.getRuntime().halt(int status) 强制终止 JVM,不会执行任何关闭钩子(shutdown hooks)或终结器(finalizers),通常用于紧急退出。
Runtime.getRuntime().halt(1);
关闭 GUI 应用程序
对于图形界面程序(如 Swing 或 JavaFX),可以通过关闭主窗口来退出程序。例如,在 Swing 中设置 JFrame 的默认关闭操作:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
异常退出
如果程序因未捕获的异常而崩溃,JVM 也会退出。可以通过捕获异常并调用 System.exit() 来控制退出行为。
try {
// 可能抛出异常的代码
} catch (Exception e) {
System.err.println("程序异常退出: " + e.getMessage());
System.exit(1);
}
多线程环境下的退出
在多线程程序中,确保所有非守护线程(non-daemon threads)执行完毕或显式终止后,JVM 才会退出。可以通过设置线程为守护线程或调用 interrupt() 方法终止线程。
注意事项

System.exit()会终止整个 JVM,慎用于多模块或共享 JVM 的环境。- 退出前应确保释放资源(如关闭文件、数据库连接等)。
- 图形界面程序推荐通过关闭窗口触发退出,而非直接调用
System.exit()。






