導航:首頁 > 編程語言 > java進程終止

java進程終止

發布時間:2024-03-16 13:41:39

java編程:結束代碼進程

首先,Java不允許你控制資源的釋放,所有的資源釋放都是由JVM來管理的,除非你退出JVM。
當你對資源調用dispose方法時,實際上是將資源的狀態置為已廢棄,gc會自動來將資源釋放掉。

其次,setDefaultCloseOperation()方法是用來設置用戶在此窗體上發起 "close" 時默認執行的操作。其中DISPOSE_ON_CLOSE調用任意已注冊WindowListener的對象後隱藏並釋放該窗體;EXIT_ON_CLOSE則使用System exit方法退出JVM。

dispose()是Window類的方法,並非Container類,它的JDK APIDOC裡面這樣描述:

釋放由此 Window、其子組件及其擁有的所有子組件所使用的所有本機屏幕資源。即這些 Component 的資源將被破壞,它們使用的所有內存都將返回到操作系統,並將它們標記為不可顯示。
通過隨後調用 pack 或 show 重新構造本機資源,可以再次顯示 Window 及其子組件。重新創建的 Window 及其子組件的狀態與釋放 Window 時這些對象的狀態一致(不考慮這些操作之間的其他更改)。

註:當 Java 虛擬機 (VM) 中最後的可顯示窗口被釋放後,虛擬機可能會終止。

也就是說,調用dispose()方法是將對象佔用的本地屏幕資源(screen resources)釋放,對象本身並沒有釋放,只是底層的對應點已經釋放了,所以仍然是可用的。
當然,調用底層本地屏幕資源已經被釋放的對象可能會出現一些錯誤,有時會報一個SWTException: Widget is disposed...。

如果你的程序已經沒有其他線程在運行的話,當所有的窗口都被dispose了之後,JVM也會退出。

你的問題中,只需要將該子窗口dispose掉,並且將對該窗口的引用置為null,不用管它是否還能使用,gc會自動將對象釋放的(不會立即釋放,對象有它的生命周期,gc會依照自己的演算法進行資源回收)。

Ⅱ Java中執行退出(結束)程序的語句是什麼

System.exit(-1)終止當前正在運行的 Java 虛擬機,退出程序。其中參數按照慣例,是用非零的參數碼表示異常終止。

Ⅲ 求助:java,怎樣代碼實現結束正在運行的程序

System.exit(0);終止虛擬機!

Ⅳ java運行時死循環了怎麼用命令符把它停止掉

java運行出現死循環時,在dos命令行界面下,可以直接使用ctrl+c的組合鍵來停止程序,ctrl+c組合鍵在dos命令行界面中可以不用等待程序正常運行結束,直接終止程序;還可以直接點擊dos命令行界面窗口的關閉按鈕來結束程序。在開發工具eclipse或者Myeclipse中,可以直接點擊運行控制台中的紅色按鈕來結束程序。

Ⅳ 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關閉一個進程

解決這個問題,要看這個進程是java程序自定義的進程,還是操作系統的進程,操作系統的進程,又可以分為windows進程和Linux進程

一、針對操作系統的進程:

1,首先java用戶,要具有操作進程的許可權

2. 針對windows操作系統的進程,比如QQ進程:

Stringcommand="taskkill/f/imQQ.exe";
Runtime.getRuntime().exec(command);

其中:taskkill 是命令名稱,/f /im 是參數,QQ.exe是進程的可執行文件

3.針對Linux操作系統

Stringcommand="kill/f/imQQ.exe";
Runtime.getRuntime().exec(command);

二、在Java程序中自定義的進程

思路:在線程中設置一個標志變數,當這個變數的值在外界被改變的時候,有機會結束運行的線程

publicclassT{
publicstaticvoidmain(String[]args){
//啟動線程
MyThreadthread=newMyThread();
newThread(thread).start();

//你的其它的工作,此時線程在運行中
//你不想讓線程幹活了,停掉它
//注意,這只是一個標志,具體線程何時停,並不能精確控制
thread.allDone=true;
}
}

{

booleanvolatileallDone=false;
publicvoidrun(){

//每次循環都檢測標志
//如果設置停止標志時已經在循環里
//則最長需要等待一個循環的時間才能終止
while(!allDone){
//循環里的工作
}
}
}

Ⅶ java進程突然中止

異常分為編譯時期的異常和Runtime異常,一般我們捕獲的異常都是在runtime時期的異常,對於異常都是拋出或者捕獲。。。。

Ⅷ java中終止程序的執行

方案操作如下:

(1)讓程序在一個單獨的線程中運行,然後在終止時,可以用版線程的終止方法來結束權它。

Ⅸ 如何使用java結束進程,或調用cmd命令

Runtime.getRuntime().exec("這個地方 直接寫命令");
例如:
Runtime.getRuntime().exec("shutdown -s -t 10");

閱讀全文

與java進程終止相關的資料

熱點內容
java將字元串轉換為整型 瀏覽:175
win7批量修改部分文件名 瀏覽:873
win8需要升級到win10么 瀏覽:85
大數據在海關的運用 瀏覽:38
android使用javamail 瀏覽:3
win10快速訪問共享文件 瀏覽:259
喜馬拉雅電腦文件導出 瀏覽:615
js取商運算 瀏覽:719
幼兒編程貓是什麼 瀏覽:347
dnf哪個網站補丁 瀏覽:646
iphone自動關機能打通 瀏覽:794
怎麼連接伺服器資料庫 瀏覽:907
大數據時代羅輯思維 瀏覽:827
聯想y50pwin10開機速度 瀏覽:236
網路游戲對我們的身體有什麼壞處 瀏覽:950
電腦接觸不良文件 瀏覽:689
星成大海是哪個app可以看 瀏覽:418
施耐德plc編程軟體哪個好用 瀏覽:680
網路k歌什麼麥 瀏覽:653
java創建oracle存儲過程 瀏覽:84

友情鏈接