System.exit(int status) :是用来结束当前正在运行中的java虚拟机。
System.exit(0) :status是零参数,那么表示正常退出程序。
System.exit(1) :status是1或者非零参数,那么表示非正常退出程序。
在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0)。
System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来表示这个程序是非正常退出。
进一步探索System.exit被调用后的行为,它在虚拟机在退出前会执行两个清除任务。
第一,它会执行所有通过Runtime.addShutdownHook注册的shutdown hooks.它能有效的释放JVM之外的资源。
第二,执行清除任务,运行相关的finalizer方法终结对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)