Java記憶體洩露一例

2021-04-22 19:38:52 字數 448 閱讀 9879

這段時間重構專案,把以前的**一點點拿出來看, 還是很發現了幾個問題. 其中記憶體洩露尤其隱蔽.這裡給出乙個例子:

定義類:

package com.hintsoft.test;

public class systemobj

}public void test()

}package com.hintsoft.test;

public class objectsta

string dd = null;

}然後在某個業務中反覆呼叫:

systemobj sys = new systemobj();

sys.test();

使用jprofile則會發現systemobj例項隨著呼叫次數**,且不會**。只有通過強制gc才能**。

因此,在會使用new 構造的物件內部引用靜態類要慎重,避免出現如上的記憶體洩露。

Java 模仿 C 字典 一例

list orderstatuslist new arraylist orderstatuslist.add new abstractmap.entry 1 已下單 orderstatuslist.add new abstractmap.entry 2 已分配客服 orderstatuslist.a...

Java 執行緒內 遞迴 Bug 一例

乙個執行緒的run方法裡使用遞迴方法,出了bug。private boolean ispass string creationid else thread.sleep 1000 60 falg catch interruptedexception e ispass creationid else r...

java 記憶體溢位與記憶體洩露

記憶體溢位 out of memory 是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory 比如申請了乙個integer,但給它存了long才能存下的數,那就是記憶體溢位。記憶體洩露 memory leak 是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記...