我詳細說一下吧
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停止執行程序
如果在一個循環里,想退出這個循環請用break;
如果在一個method中,想不執行下面的代碼版直接退出權這個method請用return;
如果你想要程序直接中斷退出,不執行後面的任何代碼,請用System.exit(0);
⑶ java運行時死循環了怎麼用命令符把它停止掉
java運行出現死循環時,在dos命令行界面下,可以直接使用ctrl+c的組合鍵來停止程序,ctrl+c組合鍵在dos命令行界面中可以不用等待程序正常運行結束,直接終止程序;還可以直接點擊dos命令行界面窗口的關閉按鈕來結束程序。在開發工具eclipse或者Myeclipse中,可以直接點擊運行控制台中的紅色按鈕來結束程序。
⑷ 如何退出java程序
退出java程序的方法如下:
1、 使用System.exit(0);
jdk文檔:System.exit(int status)是中止當前虛擬機的運行,也就是強制性的推出程序。
那個參數是狀態碼,0表示正常退出程序,其他值表示異常退出。
return 是函數中返回某個變數的關鍵字,只能退出方法。
2、關閉java程序載入方式
在游覽器中,選擇「工具」-「internet",選擇「安全」選項卡,單擊自定義級別按鈕,彈出安全設置對話框,在腳本選項中對java小程序腳本選項點選禁用。
如果想要關閉的更多,可以將IE游覽器activex功能,java功能和腳本功能全部關閉,將非IE類游覽器java和javascript功能關閉,這樣的話安全系數更高...
3、點擊默認關閉方式
關閉舊的frame.setVisible(false);
遷移至新畫面newframe.setVisiable(true);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);默認點擊關閉;
dispose()用來掛起;
⑸ java停止運行怎麼解決
在java程序中,可以使用java.lang.System的exit方法來終止程序的執行,publicstaticvoidmain(String[]args){System.out.println("開始進入程序");//dosomethingSystem.out.println("程序准備退出了!");System.exit(0);//下面這句話將
⑹ 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()來中斷退出一個獨立運行的過程。對於多線程程序,必須要關閉各個非守護線程。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程序通過命令停止
tasklist命令找到該程序的進程,taskkill殺掉該進程。
tomcat的啟動、結束bat都是調用.apache.catalina.startup.Bootstrap這個類實現的,startup.bat最終會執行Bootstrap.java里的
publicvoidstart()throwsException{
if(catalinaDaemon==null)init();
Methodmethod=catalinaDaemon.getClass().getMethod("start",(Class[])null);
method.invoke(catalinaDaemon,(Object[])null);
}
shutdown.bat最終會執行Bootstrap里的
publicvoidstopServer()throwsException{
Methodmethod=catalinaDaemon.getClass().getMethod("stopServer",(Class[])null);
method.invoke(catalinaDaemon,(Object[])null);
}
你也可以這樣寫一個類來控製程序的啟動、終止,bat就調用對應的方法。