2011-12-08
有一定程度的java programmer應該都知道,雖然java沒有C的pointer,但是程式沒寫好還是會導致memory leak。跟C的memory leak不同之處在於,C是沒把locate的memory還給OS,java的memory leak則是無用的變數(或是該被GC的變數沒被GC)一直佔用memory,直到jvm消滅時才一口氣把memory還給OS。
java memory leak的一整個前因後果可參照下面這篇文章
How to Fix Memory Leaks in Java
要去追查java memory leak的方法有很多,stackoverflow
有篇文章蠻完整的,可供參考。簡單來說,追的流程如下
-Xmx64m -XX:+HeapDumpOnOutOfMemoryError