java退出程序,java退出程序不关闭窗口

发布时间:2022-12-02

本文目录一览:

1、如何关闭java程序
2、java怎么强行终止程序
3、java退出程序语句怎么写
4、java中终止程序的执行

如何关闭java程序

我详细说一下吧 java程序启动之后,JVM(java虚拟机)会实例化一个Runtime类,这是一个运行时类实例,包含这个java程序运行的所有信息,一个程序会实例化一个Runtime类且只能实例化一个Runtime类。我们可以通过这个Runtime类实例操作程序的运行。它的exit(int status)方法会终止程序的运行。例:

Runtime.getRuntime().exit(0);

其中参数status表示状态,0表示正常退出,非0表示异常退出。非0参数有什么用呢? addShutdownHook(Thread hook)方法可以将一个Thread可程序的关闭hook(挂/联系)起来,程序退出前,会执行这个方法,这样我们可以根据退出状态作相应的善后操作。 另外,System.exit(int status)也是调用这个Runtime类实例的退出方法来间接实现程序的退出的。 再加一点,Runtime类可以创建子进程,如下:

Process p=Runtime.getRuntime().exec("notepad");

这个语句将会创建一个记事本程序(它是Runtime类创建的子进程)

p.destroy();

这个语句终止刚才创建的子进程。

java怎么强行终止程序

在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,

public static void main(String[] args) {
    System.out.println("开始进入程序...");
    //do something
    System.out.println("程序准备退出了!");
    System.exit(0);
    //下面这句话将不会打印出来
    System.out.println("程序已经退出了!");
}

但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。

public static void main(String[] args) {
    System.out.println("开始进入程序...");
    //do something
    new Thread(){
        public void run() {
            while (true) {
                System.out.println("我是另外的线程...");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }.start();
    //获取man线程
    Thread main = Thread.currentThread();
    System.out.println(main.getName());
    main.interrupt();
    System.out.println("main线程已经退出了,但是不影响其他线程运行!");
}

只有在程序非正常退出时,才使用exit方法退出程序。

java退出程序语句怎么写

System.exit(-1)终止当前正在运行的 Java 虚拟机,退出程序。 其中参数按照惯例,是用非零的参数码表示异常终止。

java中终止程序的执行

方案操作如下: (1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。 (2)退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是希望看到的情况!!!! 要退出Java程序,可以使用destory()退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。 只有在程序非正常退出时,才使用exit方法退出程序