1. 程式人生 > >Java運行時數據區域

Java運行時數據區域

靜態變量 處理 並且 基礎 運行時數據區 運行 內存 引用 解釋

昨天看JVM原理時,簡單總結了下java運行時的數據區域:

1、程序計數器
程序計數器是一塊較小的內存空間,它的作用可以看成是當前線程所執行的字節碼的信號指示器。在虛擬的概念模型裏,字節碼解釋器的工作就是通過改變這個計數器
的值來選取下一條需要執行的指令,分支、循環、指令、異常處理、線程恢復等基礎功能都需要依賴這個計數器。
2、Java虛擬機棧
棧中存儲的是類的引用
3、本地方法棧
4、Java堆
Java虛擬機中所管理的內存中最大的一塊,Java Heap是被所有線程鎖共享的一塊區域,在虛擬機啟動時創建。此內存區域唯一的目的就是存放對象實例,如果堆中沒有
內存完成實例分配,並且堆也無法再擴展,將會拋出OOM異常。

5、方法區
線程共享的內存區域,用於存放類信息,靜態變量,常量。當方法區無法滿足內存分配時,將會拋出異常OOM。

Java運行時數據區域