JVM 整體架構,中間部分就是 Java 虛擬機定義的各種運行時數(shù)據區(qū)域。
Java 虛擬機定義了若干種程序運行期間會使用到的運行時數(shù)據區(qū),其中有一些會隨著虛擬機啟動而創(chuàng)建,隨著虛擬機退出而銷毀。另外一些則是與線程一一對應的,這些與線程一一對應的數(shù)據區(qū)域會隨著線程開始和結束而創(chuàng)建和銷毀。
線程私有:程序計數(shù)器、虛擬機棧、本地方法區(qū)
線程共享:堆、方法區(qū), 堆外內存(Java7的永久代或JDK8的元空間、代碼緩存)