日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java对象模型是什么_蓝石榴_个人博客_JVM内存结构、Java内存模型、Java对象模型...

發布時間:2023/12/4 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java对象模型是什么_蓝石榴_个人博客_JVM内存结构、Java内存模型、Java对象模型... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JVM內存結構

我們都知道,Java代碼是要運行在虛擬機上的,而虛擬機在執行Java程序的過程中會把所管理的內存劃分為若干個不同的數據區域,這些區域都有各自的用途。其中有些區域隨著虛擬機進程的啟動而存在,而有些區域則依賴用戶線程的啟動和結束而建立和銷毀。在《Java虛擬機規范(Java SE 8)》中描述了JVM運行時內存區域結構如下:

1、以上是Java虛擬機規范,不同的虛擬機實現會各有不同,但是一般會遵守規范。

2、規范中定義的方法區,只是一種概念上的區域,并說明了其應該具有什么功能。但是并沒有規定這個區域到底應該處于何處。所以,對于不同的虛擬機實現來說,是由一定的自由度的。

3、不同版本的方法區所處位置不同,上圖中劃分的是邏輯區域,并不是絕對意義上的物理區域。因為某些版本的JDK中方法區其實是在堆中實現的。

4、運行時常量池用于存放編譯期生成的各種字面量和符號應用。但是,Java語言并不要求常量只有在編譯期才能產生。比如在運行期,String.intern也會把新的常量放入池中。

5、除了以上介紹的JVM運行時內存外,還有一塊內存區域可供使用,那就是直接內存。Java虛擬機規范并沒有定義這塊內存區域,所以他并不由JVM管理,是利用本地方法庫直接在堆外申請的內存區域。

6、堆和棧的數據劃分也不是絕對的,如HotSpot的JIT會針對對象分配做相應的優化。

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

Java內存模型

Java內存模型看上去和Java內存結構(JVM內存結構)差不多,很多人會誤以為兩者是一回事兒,其實不然。

在前面的關于JVM的內存結構的圖中,我們可以看到,其中Java堆和方法區的區域是多個線程共享的數據區域。也就是說,多個線程可能可以操作保存在堆或者方法區中的同一個數據。這也就是我們常說的“Java的線程間通過共享內存進行通信”。

Java內存模型是根據英文Java Memory Model(JMM)翻譯過來的。其實JMM并不像JVM內存結構一樣是真實存在的。他只是一個抽象的概念。JSR-133:Java Memory Model and Thread Specification中描述了,JMM是和多線程相關的,他描述了一組規則或規范,這個規范定義了一個線程對共享變量的寫入時對另一個線程是可見的。

總結:Java的多線程之間是通過共享內存進行通信的,而由于采用共享內存進行通信,在通信過程中會存在一系列如可見性、原子性、順序性等問題,而JMM就是圍繞著多線程通信以及與其相關的一系列特性而建立的模型。JMM定義了一些語法集,這些語法集映射到Java語言中就是volatile、synchronized等關鍵字。

在Java中,JMM是一個非常重要的概念,正是由于有了JMM,Java的并發編程才能避免很多問題。

Java對象模型

Java是一種面向對象的語言,而Java對象在JVM中的存儲也是有一定的結構的。而這個關于Java對象自身的存儲模型稱之為Java對象模型。

HotSpot虛擬機中,設計了一個OOP-Klass Model。OOP(Ordinary Object Pointer)指的是普通對象指針,而Klass用來描述對象實例的具體類型。

每一個Java類,在被JVM加載的時候,JVM會給這個類創建一個instanceKlass,保存在方法區,用來在JVM層表示該Java類。當我們在Java代碼中,使用new創建一個對象的時候,JVM會創建一個instanceOopDesc對象,這個對象中包含了對象頭以及實例數據。

這就是一個簡單的Java對象的OOP-Klass模型,即Java對象模型。

總結

JVM內存結構,和Java虛擬機的運行時區域有關。Java內存模型,和Java的并發編程有關。Java對象模型,和Java對象在虛擬機中的表現形式有關。

總結

以上是生活随笔為你收集整理的java对象模型是什么_蓝石榴_个人博客_JVM内存结构、Java内存模型、Java对象模型...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲一区二区三区激情 | 91av影视 | 99国产在线观看 | 18色av | 一区二区内射 | 波多野结衣网站 | av字幕网 | 影院一区| 日本japanese乳偷乱熟 | 欧美黑人做爰爽爽爽 | 日韩一区二区免费看 | 精品国产乱码一区二 | 喷水av| 欧美成人a∨高清免费观看 国产精品999视频 | 韩国黄色精品 | 黄在线免费看 | 热久久这里只有精品 | 91网站大全 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 黄色麻豆网站 | 无码人妻精品一区二区三区9厂 | 天天干天天色天天射 | 国产激情片 | 一区二区激情视频 | 午夜视频污 | 国产一区二区三区91 | 国产免费不卡av | 精品美女一区 | 亚洲AV成人无码久久精品同性 | 午夜在线精品偷拍 | 午夜久久福利 | 精品在线91 | 成人18在线 | 成年人高清视频 | 亚洲最新av | 美女作爱网站 | 黄色一级生活片 | 人妻少妇精品无码专区 | 日韩精品一区二区三区视频在线观看 | 欧美日韩高清一区二区 | 69视频在线免费观看 | 特级av片 | 羞羞动态图 | 午夜免费视频网站 | 久久久全国免费视频 | 50部乳奶水在线播放 | 男人日女人的网站 | 免费黄色av网站 | 日本毛片在线 | 国产一区二区三区四 | 日韩啪啪网站 | 欧美精品二区三区四区免费看视频 | 日韩精品中文字幕在线观看 | 裸体视频软件 | 婷婷综合在线观看 | 亚洲色婷婷一区二区三区 | 国产精品探花一区二区三区 | 欧美巨大荫蒂茸毛毛人妖 | aa在线视频 | 天天综合天天做天天综合 | 人妻精品久久久久中文字幕69 | 成人免费视频播放 | 中国精品毛片 | 一区二区三区亚洲 | 女儿的朋友4在线观看 | 午夜视频欧美 | 五月婷婷综合久久 | 就去色综合 | 手机在线永久免费观看av片 | 亲子乱一区二区三区 | 噜噜噜久久 | 日本美女毛茸茸 | 中国女人内谢69xxxx免费视频 | 91精品国产综合久久福利软件 | а√天堂资源官网在线资源 | 91九色蝌蚪91por成人 | 日韩日日日 | 青青草原伊人网 | 国产做爰视频免费播放 | 精品久久9999| 久久久国产打桩机 | 欧美xxxx69 | 久久久免费观看 | av在线播放一区二区三区 | 国产男人的天堂 | 91在线观看视频 | 妖精视频一区二区三区 | 海角社区在线视频播放观看 | 女女百合高h喷汁呻吟玩具 www.亚洲一区 | 欧美日韩亚洲高清 | 精品久久综合 | 欧美激情一二三 | 日韩av在线一区二区三区 | 成人免费在线视频 | 精品小视频在线观看 | 91叼嘿视频 | 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品三级在线观看无码 | 精品亚洲一区二区三区四区五区 |