zoukankan      html  css  js  c++  java
  • System.exit(-1)和return 的区别

    对于只有一个单一方法的类或者系统来说是一样的,但是对于含有多个类和方法,且调用关系比较复杂时就不一样了。
    System.exit(-1)是指所有程序(方法,类等)停止,系统停止运行。
    return只是这一个方法停止,并不影响其他方法的顺序运行。比如:
    void a(){
    b();
    c();
    d();
    }其中b()中是return.c()是System.exit(-1);那么
    b()会执行,c()会执行,而d()不会被执行。

    System.exit(int status)
    public static void exit(int status)
    终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非零的状态码表示异常终止。

    该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。
    调用 System.exit(n) 实际上等效于调用:

    Runtime.getRuntime().exit(n)

    参数:
    status - 退出状态。
    抛出:


    SecurityException - 如果安全管理器存在并且其 checkExit 方法不允许以指定状态退出
    Runtime.exit(int status)
    通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。
    虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭挂钩(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。
    如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭挂钩,则将无限期地阻断此方法。如果已经运行完关闭挂钩,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。
    System.exit 方法是调用此方法的一种传统而便捷的方式。
    参数:
    status - 终止状态。按照惯例,非零的状态码表明非正常终止。 
    抛出: 
    SecurityException - 如果安全管理器存在,并且其 checkExit 方法不允许存在指定的状态 
  • 相关阅读:
    571B. Minimization(Codeforces Round #317)
    java的死锁学习
    算法——大整数乘法
    从头认识java-15.7 Map(3)-介绍HashMap的工作原理-get方法
    软硬件之共生之道——一千零一夜的启发
    Java系列之JNDI
    the solution of CountNonDivisible by Codility
    qml
    日历日历日历
    项目总结——传说中的反射居然是这个样子
  • 原文地址:https://www.cnblogs.com/xwb583312435/p/8989397.html
Copyright © 2011-2022 走看看