JMV-內存管理-運行時數據區域
簡介
Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分爲若干個不同的數據區域。每個區域有各自的用途,創建時間以及銷燬時間。有的區域隨着虛擬機的進程啓動而存在,有的則是依賴用戶線程的啓動和結束而建立和銷燬。根據《Java虛擬機規範(第2版)》的規定JVM所管理的內存分爲以下幾個運行時數據區:程序計數器、Java虛擬機棧、本地方法棧、Java堆、方法區。
正文內容中的內容轉載與《Java虛擬機原理圖解》3、JVM運行時數據區。歸納的很全面並且圖形化印象更深。
運行時數據區結構與說明
JVM運行時數據區裏有什麼?
虛擬機棧 是什麼?虛擬機棧裏有什麼?
棧幀是什麼?棧幀裏有什麼?
方法區是什麼?方法區裏有什麼?
總結
開發過程中的內存溢出相信對每個人都不陌生,整體搞清楚運行時數據區之後,能更深刻的瞭解他們發生的深層次的原因,下一章整理出現各種內存溢出的異常來相互印證,加深理解。