執行緒可能導致記憶體洩露的情況

2021-08-30 05:52:43 字數 373 閱讀 1486

繼承thread的執行緒,在交給jdk1.4並發包的執行緒池執行完畢後並沒有被釋放資源,而且也沒被再利用,而是白白佔著記憶體,導致記憶體洩露。

預設的thread本身初始化在1.4是將自己加入了乙個threadgroup,如果你沒有呼叫它的start方法,jvm不會在該執行緒結束後將這個thread從treadgroup中移除,這就是造成記憶體洩露的原因所在。不過在jdk6上,將加入threadgroup這個操作從建構函式轉移到了start方法,避免了這個問題。

jdk的concurrent並發包的執行緒池可以執行實現了runnable介面的執行緒,不要使用繼承thread的類,好的程式設計實踐是給執行緒池傳遞實現了runnable介面的類。

這個問題從側面提醒我們,實現介面總比繼承好!

Flex 中可能導致記憶體洩露的地方

收集了不少的會導致記憶體洩露的情況 對父級物件加了監聽函式,會造成記憶體洩露,例 override protected function mousedownhandler void 包含了image物件時,在removechildren時會造成不能釋放 測試多次,結果不一,建議還是做如下處理 解決 ...

常見的記憶體洩露情況

1,一般來說,alloc都會應該對應乙個release 2,另外,對於autorelease的例項,不能再使用release了 3,對於用類方法建立的例項,無需release,因為在傳遞過來時,已經被autorelease了 4,對於成員變數,一般需要release,途徑有兩個 在alloc建立 使...

記憶體洩露的幾種情況

彙總 1.資源物件沒關閉造成的記憶體洩漏,cursor,file檔案等用完後沒有呼叫close,如果我們沒有關閉它,系統在 它時也會關閉它,但是這樣的效率太低了 2.多次使用new同乙個物件,應先判斷物件是否已經為null的情況,為null再new 3.bitmap物件不在使用時呼叫recycle ...