導航:首頁 > 編程語言 > java線程池回收

java線程池回收

發布時間:2024-01-12 06:48:36

java 小問題 關於實例對象內存回收。。

首先,你可能對JAVA的垃圾回收機制不了解,那麼請看下面一段話(過來的)
JAVA垃圾回收機制的特點:
以下兩個特性。
1. 自動性。Java技術提供了一個系統級的線程,即垃圾收集器線程,來跟蹤每一塊分配出去的內存空間,當Java 虛擬機處於空閑循環時,垃圾收集器線程會自動檢查每一塊分配出去的內存空間,然後自動回收每一塊可以回收的無用的內存塊。
2. 不可預期性。一個對象成為了垃圾,但是你不能斷言,該對象在這行以後就立刻被清除,甚至有可能當程序結束後,該對象仍然佔用內存。像Windows這樣的軟體常常會出現內存不足的情況,JAVA程序很少出現就是因為可以自動回收內存。然而,因為JAVA也不能保證及時地清除無用的對象,所以JAVA程序也會出現內存不足的情況,只是這種情況很少出現。垃圾收集線程在一個Java程序中的執行是自動的,不能強制執行,即使程序員能明確地判斷出有一塊內存已經無用了,是應該回收的,程序員也不能強制垃圾收集器回收該內存塊。程序員唯一能做的就是通過調用System.gc 方法來"建議"執行垃圾收集器,但其是否可以執行,什麼時候執行卻都是不可知的

那麼針對你的問題:
1、走完這個方法,這個對象確實變成了垃圾,但是不會立即被收回。只有當垃圾堆積到一定的程度時,虛擬機才會自動回收垃圾。
2、是每次都實例,但不是每次都回收。
不會有問題。
3、在JAVA中,不需要特意去管這個垃圾回收機制,因為垃圾回收的自動性。
即使你調用System.gc()方法,也只是建議虛擬機回收內存,但虛擬機是否立即進行回收是不一定的。

② Java中如何從線程池中將線程移除

按照你的邏輯,你用ArrayList作為一個線程池,實際上這是一個集合,如果想移除,可以這樣:

threadPool.remove(newThread(a));

但是實內際上,java中的concurrent包下的Executors介面,容使用自帶的api:

ExecutorServicethreadpool=Executors.newCachedThreadPool();
閱讀全文

與java線程池回收相關的資料

熱點內容
網路中常用的傳輸介質 瀏覽:518
文件如何使用 瀏覽:322
同步推密碼找回 瀏覽:865
樂高怎麼才能用電腦編程序 瀏覽:65
本機qq文件為什麼找不到 瀏覽:264
安卓qq空間免升級 瀏覽:490
linux如何刪除模塊驅動程序 瀏覽:193
at89c51c程序 瀏覽:329
怎麼創建word大綱文件 瀏覽:622
裊裊朗誦文件生成器 瀏覽:626
1054件文件是多少gb 瀏覽:371
高州禁養區內能養豬多少頭的文件 瀏覽:927
win8ico文件 瀏覽:949
仁和數控怎麼編程 瀏覽:381
項目文件夾圖片 瀏覽:87
怎麼在東芝電視安裝app 瀏覽:954
plc顯示數字怎麼編程 瀏覽:439
如何辨別假網站 瀏覽:711
寬頻用別人的賬號密碼 瀏覽:556
新app如何佔有市場 瀏覽:42

友情鏈接