system.exit(0)与system.exit(-1)有什么区别?一点区别都没有?

问题描述:

system.exit(0)与system.exit(-1)有什么区别?一点区别都没有?
1个回答 分类:综合 2014-11-24

问题解答:

我来补答
其实是 Runtime.exit(int status)
通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机.此方法从不正常返回.可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止.
虚拟机的关闭序列包含两个阶段.在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭钩子 (hook)(如果有的话),并且允许它们同时运行直至结束.在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法.一旦完成这个阶段,虚拟机就会暂停.
如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭钩子,则将无限期地阻断此方法.如果已经运行完关闭钩子,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机.
System.exit 方法是调用此方法的一种传统而便捷的方式.
再问: 复制的吧,看过了
 
 
展开全文阅读
剩余:2000
下一页:铜,及其化合物