1. 程式人生 > >java內存結構JVM——java內存模型JMM——java對象模型JOM

java內存結構JVM——java內存模型JMM——java對象模型JOM

多線程 ima jvm內存 inf 模型 java程序 java 運行 過程

JVM內存結構

Java代碼是要運行在虛擬機上的,而虛擬機在執行Java程序的過程中會把所管理的內存劃分為若幹個不同的數據區域,這些區域都有各自的用途。其中有些區域隨著虛擬機進程的啟動而存在,而有些區域則依賴用戶線程的啟動和結束而建立和銷毀。

結構如下:

技術分享圖片

JVM內存結構:由Java虛擬機規範定義,描述的是Java程序執行過程中,由JVM管理的不同數據區域,各個區域有其特定的功能。

Java內存模型

Java Memory Model(JMM)JMM並不像JVM內存結構一樣是真實存在,它只是一個抽象的概念。

JMM是和多線程相關的,它描述了一組規則或規範,這個規範定義了一個線程對共享變量的寫入時對另一個線程是可見的。

JMM定義了一些語法集,這些語法集映射到Java語言中就是volatile、synchronized等關鍵字。

Java對象模型

Java對象在JVM中的存儲也是有一定結構的,這個Java對象自身的存儲模型稱之為Java對象模型。

JVM內存結構,和Java虛擬機的運行時區域有關。

Java內存模型,和Java的並發編程有關。

Java對象模型,和Java對象在虛擬機中的表現形式有關。

文章詳情可參看:http://www.hollischuang.com/archives/2509

java內存結構JVM——java內存模型JMM——java對象模型JOM