System.exit(-1)終止當前正在運行的 Java 虛擬機,退出程序。
專注于為中小企業(yè)提供網站設計制作、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)徐州免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。
其中參數按照慣例,是用非零的參數碼表示異常終止。
在java程序中,可以使用java.lang.System的exit方法來終止程序的執(zhí)行,
12345678
public static void main(String[] args) { System.out.println("開始進入程序..."); //do something System.out.println("程序準備退出了!"); System.exit(0); //下面這句話將不會打印出來 System.out.println("程序已經退出了!");}
但是使用exit方法的本質是終止了JVM的運行,如果同時運行了另外一個程序,使用exit方法同樣也會使該程序也終止,要避免此種情況可以使用interrupt()來中斷退出一個獨立運行的過程。對于多線程程序,必須要關閉各個非守護線程。
1234567891011121314151617181920212223
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方法退出程序。
import?java.applet.*;
import?java.awt.Color;
import?java.awt.Frame;
import?javax.swing.JFrame;
import?java.awt.event.*;
public?class?FirstFrame?extends?Frame?{
public?static?void?main(String?args[])?{
FirstFrame?fr?=?new?FirstFrame("First?contianer!");
fr.setSize(240,?240);
//繼承JFrame的關閉窗口代碼
//fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//繼承Frame的
fr.addWindowListener(new?WindowAdapter()?{????
public?void?windowClosing(WindowEvent?e)?{????????
System.exit(0);//退出系統(tǒng)???
}
});
fr.setVisible(true);
}
public?FirstFrame(String?str)?{
super(str);
}
}
你用的 swing 嗎?加上 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
或者加上窗口事件監(jiān)聽器:
addWindowListener(new WindowAdapter() {
public void windowClosing (WindowEvent we) {
dispose();
}
});
import java.io.IOException;
public class TestEnter {
public static void main(String[] args) throws IOException{
while(true){
if(System.in.read() == '\n')
System.exit(0);
}
}
}