zoukankan      html  css  js  c++  java
  • System.exit(0)作用

    System.exit(0)作用

     

    public class HelloGoodbye{

    try{

    System.out.println(“Hello World”);

    System.exit(0);

    } finally {

    System.out.println(“Goodbye World”);

    }}

    上面这段代码会打印出什么呢?要知道答案需要了解System.exit(0)这个方法在执行过程中到底发生了哪些事情。API文档上描述System.exit方法会导致当前运行线程停止并使其它线程都终止,因此上面这段代码中的finally代码块不会被执行。

    进一步探索System.exit被调用后的行为,它在虚拟机在退出前会执行两个清除任务。第一,它会执行所有通过Runtime.addShutdownHook注册的shutdown hooks.它能有效的释放JVM之外的资源。第二,执行清除任务,运行相关的finalizer方法终结对象。

    如果需要在调用System.exit方法后仍然打印出“Goodbye World”,可采用如下的方法:

    System.out.println(“Hello World”);

    Runtime.getRuntime().addShutdownHook(

    new Thread(){

    public void run(){

    System.out.println(“Goodbye world”);

    }

    }

    )

    System.exit(0);

    System.exit(0)表示正常退出JVM,而System.exit(1)表示异常退出JVM。参数只是通知操作系统程序的退出状态,0为正常,非0为异常。

  • 相关阅读:
    Vue DatePicker和不可用
    API图片路径和超链接语义化转换
    jQuery常用插件大全
    前端面试必备技巧整理
    堆与堆排序/Heap&Heap sort
    第k大的数
    POJ 2083 Fractal 分形题目
    最大子数组问题/Maximum Subarray
    一个简单的随机数生成算法
    成绩排序
  • 原文地址:https://www.cnblogs.com/xiaotianyu/p/3346966.html
Copyright © 2011-2022 走看看