導航:首頁 > 編程語言 > java關閉class

java關閉class

發布時間:2024-12-05 07:28:29

❶ 如何用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 如何實現點擊關閉後 關閉窗口 求詳細代碼

方法一:
類 JFrame
javax.swing.JFrame

JFrame中的方法void setDefaultCloseOperation(int)可以設置
以下為改方法的用法:

setDefaultCloseOperation
public void setDefaultCloseOperation(int operation)設置用戶在此窗體上發起
"close" 時默認執行的操作。必須指定以下選項之一:

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定義):不執行任何操作;要求程序在已注冊的
WindowListener 對象的 windowClosing 方法中處理該操作。
HIDE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊的 WindowListener
對象後自動隱藏該窗體。
DISPOSE_ON_CLOSE(在 WindowConstants 中定義):調用任意已注冊 WindowListener
的對象後自動隱藏並釋放該窗體。
EXIT_ON_CLOSE(在 JFrame 中定義):使用 System exit
方法退出應用程序。僅在應用程序中使用。
默認情況下,該值被設置為 HIDE_ON_CLOSE。更改此屬性的值將導致激發屬性更改事件,其屬性名稱為
"defaultCloseOperation"。

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

要實現你說的,應該採用
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

方法二:

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Test extends JFrame {

public Test(){
this.setTitle("title");
this.setSize(300,200);
this.setLocation(100,100);

//設置關閉時什麼也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//監聽關閉按鈕的點擊操作
this.addWindowListener(new WindowAdapter(){
//new 一個WindowAdapter 類 重寫windowClosing方法
//WindowAdapter是個適配器類 具體看jdk的幫助文檔
public void windowClosing(WindowEvent e) {
//這里寫對話框
if(JOptionPane.showConfirmDialog(null,
"退出","提
示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION){

System.exit(0);
}
}

});

this.setVisible(true);
}

public static void main(String[] args) {
new Test();
}

}
分享

❸ Java 的開始與結束代碼是什麼

在Java中,通常需要定義一個類並編寫main方法作為程序的入口點。因此,Java程序的開始和結束代碼如下:

開始代碼:

```java
public class Main {
public static void main(String[] args) {
// 在這里編寫程序代碼
}
}
```

以上代碼創建了一個名為Main的類,並包含一個靜態的、公共的、無返回值的main方法作為程序的入口點。

結束代碼:

Java程序結束時不需要特別的結束代碼,程序會自動結束。但是,如果程序需要釋放資源等清理操作,則可以在程序最後進行相應的處理。例如,關閉文件、釋放內存等。

❹ 如何關閉java線程

終止線程的三種方法
1. 使用退出標志,使線程正常退出,也就是當run方法完成後線程終止。
2. 使用stop方法強行終止線程(這個方法不推薦使用,因為stop和suspend、resume一樣,也可能發生不可預料的結果)。
3. 使用interrupt方法中斷線程。

1. 使用退出標志終止線程
當run方法執行完後,線程就會退出。但有時run方法是永遠不會結束的。如在服務端程序中使用線程進行監聽客戶端請求,或是其他的需要循環處理的任務。在這種情況下,一般是將這些任務放在一個循環中,如while循環。如果想讓循環永遠運行下去,可以使用while(true){……}來處理。但要想使while循環在某一特定條件下退出,最直接的方法就是設一個boolean類型的標志,並通過設置這個標志為true或false來控制while循環是否退出。下面給出了一個利用退出標志終止線程的例子。
package chapter2;
public class ThreadFlag extends Thread
{
public volatile boolean exit = false;
public void run()
{
while (!exit);
}
public static void main(String[] args) throws Exception
{
ThreadFlag thread = new ThreadFlag();
thread.start();
sleep(5000); // 主線程延遲5秒
thread.exit = true; // 終止線程thread
thread.join();
System.out.println("線程退出!");
}
}
在上面代碼中定義了一個退出標志exit,當exit為true時,while循環退出,exit的默認值為false.在定義exit時,使用了一個Java關鍵字volatile,這個關鍵字的目的是使exit同步,也就是說在同一時刻只能由一個線程來修改exit的值,

2. 使用stop方法終止線程
使用stop方法可以強行終止正在運行或掛起的線程。我們可以使用如下的代碼來終止線程:
thread.stop();
雖然使用上面的代碼可以終止線程,但使用stop方法是很危險的,就象突然關閉計算機電源,而不是按正常程序關機一樣,可能會產生不可預料的結果,因此,並不推薦使用stop方法來終止線程。

3. 使用interrupt方法終止線程
使用interrupt方法來終端線程可分為兩種情況:
(1)線程處於阻塞狀態,如使用了sleep方法。
(2)使用while(!isInterrupted()){……}來判斷線程是否被中斷。
在第一種情況下使用interrupt方法,sleep方法將拋出一個InterruptedException例外,而在第二種情況下線程將直接退出。下面的代碼演示了在第一種情況下使用interrupt方法。
package chapter2;
public class ThreadInterrupt extends Thread
{
public void run()
{
try
{
sleep(50000); // 延遲50秒
}
catch (InterruptedException e)
{
System.out.println(e.getMessage());
}
}
public static void main(String[] args) throws Exception
{
Thread thread = new ThreadInterrupt();
thread.start();
System.out.println("在50秒之內按任意鍵中斷線程!");
System.in.read();
thread.interrupt();
thread.join();
System.out.println("線程已經退出!");
}
}
上面代碼的運行結果如下:
在50秒之內按任意鍵中斷線程!
sleep interrupted
線程已經退出!
在調用interrupt方法後, sleep方法拋出異常,然後輸出錯誤信息:sleep interrupted.
注意:在Thread類中有兩個方法可以判斷線程是否通過interrupt方法被終止。一個是靜態的方法interrupted(),一個是非靜態的方法isInterrupted(),這兩個方法的區別是interrupted用來判斷當前線是否被中斷,而isInterrupted可以用來判斷其他線程是否被中斷。因此,while (!isInterrupted())也可以換成while (!Thread.interrupted())。

閱讀全文

與java關閉class相關的資料

熱點內容
支付交易涉及的資料庫 瀏覽:925
新手機注冊為什麼獲取不了數據 瀏覽:692
蘋果手機如何不顯示app電池用量 瀏覽:47
文件名重命名原文件怎麼恢復 瀏覽:505
ai透視網格工具怎麼移動 瀏覽:906
uc清理緩存文件後下載的視頻 瀏覽:127
國外的cad文件怎麼修改 瀏覽:56
注冊微信網站有什麼好處 瀏覽:648
安徽建網站價格多少錢 瀏覽:777
飛貓雲文件怎麼下載 瀏覽:863
移動文件夾是 瀏覽:322
技嘉升級bios教程 瀏覽:271
蘋果7容易彎嗎 瀏覽:1000
excel表格數據行怎麼設置 瀏覽:75
archlinux桌面mate 瀏覽:149
編程團隊取什麼名字好 瀏覽:545
mysql執行腳本文件 瀏覽:118
e4a怎麼刪除ftp伺服器端文件 瀏覽:238
公路工程計量文件有哪些 瀏覽:856
jsp圖片上傳 瀏覽:508

友情鏈接