1. 程式人生 > >深入理解JVM之記憶體溢位問題的分析與解決(一)

深入理解JVM之記憶體溢位問題的分析與解決(一)

今天樓主開始學習深入理解JVM這一套視訊,準備將課程的重點以部落格的形式展現出來,儘量把每一節的知識點縮小,寫的精闢;

今天樓主學習的是:記憶體溢位問題的分析與解決,我們來看一個例子

 我們可以發現在迴圈中無限制的在建立HeadSpace這個類的例項,這必然會導致我們記憶體的增加,以至於ecipse會報如下圖的錯誤:

從圖中我們可以看到eclipse的控制檯給我們報了堆記憶體溢位的錯誤,我們知道每建立一個例項,都會從堆記憶體中開闢一個新的區域出來,這必然導致我們電腦的記憶體增加,當記憶體達到一定大的時候,就會發生堆記憶體的溢位;

 

所以可以知道我們程式碼導致了記憶體的溢位,從我們上面的程式碼可以很快的定位到是迴圈出現了問題,但是如果是成千上萬行的程式碼我們該怎麼定位呢;下一節我會繼續講解如何定位記憶體溢位出差錯的程式碼區域!