本文目錄一覽:
- 1、java過時的方法一定不可以用嗎?
- 2、Java的過時方法?
- 3、Java調用過時的方法會怎麼樣?
- 4、java中resume() stop()方法已經過時用什麼方法代替呢
- 5、Java中某個方法已過時,不推薦,但是想使用怎麼辦呢?
- 6、java已過時方法是怎麼回事
java過時的方法一定不可以用嗎?
不是一定不能用,可以用的,只是建議不要使用,因為過時的方法在後期從低版本JVM升級成高版本JVM時,將可能不會被支持
Java的過時方法?
比如說你的Java名叫Test,如果用javac Test.java出現API,則你用javac -Xlint Test.java重新編譯,則會指出過時的方法!
Java調用過時的方法會怎麼樣?
被標記為過時的方法,在當前版本中還可以使用,不過會在將來某個版本中被完全廢棄掉(塞完全不能用)。
所以如果有替代方法,盡量不要去用被標記為過時的方法。
java中resume() stop()方法已經過時用什麼方法代替呢
stop
@Deprecated
public final void stop()
已過時。 該方法具有固有的不安全性。用 Thread.stop 來終止線程將釋放它已經鎖定的所有監視器(作為沿堆棧向上傳播的未檢查 ThreadDeath 異常的一個自然後果)。如果以前受這些監視器保護的任何對象都處於一種不一致的狀態,則損壞的對象將對其他線程可見,這有可能導致任意的行為。stop 的許多使用都應由只修改某些變量以指示目標線程應該停止運行的代碼來取代。目標線程應定期檢查該變量,並且如果該變量指示它要停止運行,則從其運行方法依次返回。如果目標線程等待很長時間(例如基於一個條件變量),則應使用 interrupt 方法來中斷該等待。有關更多信息,請參閱《為何不贊成使用 Thread.stop、Thread.suspend 和 Thread.resume?》。
強迫線程停止執行。
如果安裝了安全管理器,則以 this 作為其參數調用 checkAccess 方法。這可能引發 SecurityException(在當前線程中)。
如果該線程不同於當前線程(即當前線程試圖終止除它本身以外的某一線程),則安全管理器的 checkPermission 方法(帶有 RuntimePermission(“stopThread”) 參數)也會被調用。這會再次拋出 SecurityException(在當前線程中)。
無論該線程在做些什麼,它所代表的線程都被迫異常停止,並拋出一個新創建的 ThreadDeath 對象,作為異常。
停止一個尚未啟動的線程是允許的。如果最後啟動了該線程,它會立即終止。
應用程序通常不應試圖捕獲 ThreadDeath,除非它必須執行某些異常的清除操作(注意,拋出 ThreadDeath 將導致 try 語句的 finally 子句在線程正式終止前執行)。如果 catch 子句捕獲了一個 ThreadDeath 對象,則重新拋出該對象很重要,因為這樣該線程才會真正終止。
對其他未捕獲的異常作出反應的頂級錯誤處理程序不會打印輸出消息,或者另外通知應用程序未捕獲到的異常是否為 ThreadDeath 的一個實例。
拋出:
SecurityException – 如果當前線程不能修改該線程。
另請參見:
interrupt(), checkAccess(), run(), start(), ThreadDeath, ThreadGroup.uncaughtException(java.lang.Thread, java.lang.Throwable), SecurityManager.checkAccess(Thread), SecurityManager.checkPermission(java.security.Permission)
Java中某個方法已過時,不推薦,但是想使用怎麼辦呢?
被標記為過時的方法,在當前版本中還可以使用,不過會在將來某個版本中被完全廢棄掉(塞完全不能用)。
所以如果有替代方法,盡量不要去用被標記為過時的方法。
java已過時方法是怎麼回事
以過時的方法當然可以使用,但是過時的方法一般是存在各種各樣的問題,所以提供新的方法來替代。
過時的方法是不建議使用的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/186546.html