本文目錄一覽:
java退出程序語句怎麼寫
System.exit(-1)終止當前正在運行的 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方法來終止程序的執行,
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方法退出程序。
原創文章,作者:JJWO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146775.html