System.exit(1)有什么用
1 | public class SystemExitDemo { |
1 | begin... |
从输出结果看,System.exit(status)会退出整个jvm,而不只是当前线程。
自定义SecurityManager
System.exit(status) ==》 Runtime.getRuntime().exit(status)
1 | public void exit(int status) { |
如果想要控制exit,需要自定义SecurityManager来处理
1 |
|
输出:
1 | begin... |
总结
- System.exit(status)默认情况下是暴露给SecurityManager来控制并退出jvm的
- 只是在程序中达到退出线程的目的,应该使用异常而不是exit