激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 詳解Java虛擬機(JVM)運行時

詳解Java虛擬機(JVM)運行時

2021-06-08 14:08牛旦教育IT課堂 Java教程

JVM(Java虛擬機)是一個抽象的計算模型。這篇文章主要介紹了Java虛擬機(JVM)運行時的相關(guān)知識,需要的朋友可以參考下

jvm(java虛擬機)是一個抽象的計算模型。就如同一臺真實的機器,它有自己的指令集和執(zhí)行引擎,可以在運行時操控內(nèi)存區(qū)域。目的是為構(gòu)建在其上運行的應(yīng)用程序提供一個運行環(huán)境。jvm可以解讀指令代碼并與底層進行交互:包括操作系統(tǒng)平臺和執(zhí)行指令并管理資源的硬件體系結(jié)構(gòu)。本文主要介紹java虛擬機(jvm)運行時詳解。

詳解Java虛擬機(JVM)運行時

我們知道的jvm內(nèi)存區(qū)域有:堆和棧,這是一種泛的分法,也是按運行時區(qū)域的一種分法,堆是所有線程共享的一塊區(qū)域,而棧是線程隔離的,每個線程互不共享。

線程不共享區(qū)域

每個線程的數(shù)據(jù)區(qū)域包括程序計數(shù)器、虛擬機棧和本地方法棧,它們都是在新線程創(chuàng)建時才創(chuàng)建的。

程序計數(shù)器(program counter rerister)

程序計數(shù)器區(qū)域一塊內(nèi)存較小的區(qū)域,它用于存儲線程的每個執(zhí)行指令,每個線程都有自己的程序計數(shù)器,此區(qū)域不會有內(nèi)存溢出的情況。

虛擬機棧(vm stack)

虛擬機棧描述的是java方法執(zhí)行的內(nèi)存模型,每個方法被執(zhí)行的時候都會同時創(chuàng)建一個棧幀(stack frame)用于存儲局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口等信息。每一個方法被調(diào)用直至執(zhí)行完成的過程就對應(yīng)著一個棧幀在虛擬機棧中從入棧到出棧的過程。

本地方法棧(native method stack)

本地方法棧用于支持本地方法(native標(biāo)識的方法,即非java語言實現(xiàn)的方法)。

虛擬機棧和本地方法棧,當(dāng)線程請求分配的棧容量超過jvm允許的最大容量時拋出stackoverflowerror異常。

線程不共享區(qū)域如下圖綠色背景所示。

詳解Java虛擬機(JVM)運行時

線程共享區(qū)域

線程共享區(qū)域包含:堆和方法區(qū)。

堆(heap)

堆是最常處理的區(qū)域,它存儲在jvm啟動時創(chuàng)建的數(shù)組和對象,jvm垃圾收集也主要是在堆上面工作。

如果實際所需的堆超過了自動內(nèi)存管理系統(tǒng)能提供的最大容量時拋出outofmemoryerror異常。

方法區(qū)(method area)

方法區(qū)是可供各條線程共享的運行時內(nèi)存區(qū)域。存儲了每一個類的結(jié)構(gòu)信息,例如運行時常量池(runtime constant pool)、字段和方法數(shù)據(jù)、構(gòu)造函數(shù)和普通方法的字節(jié)碼內(nèi)容、還包括一些在類、實例、接口初始化時用到的特殊方法。

當(dāng)創(chuàng)建類和接口時,如果構(gòu)造運行時常量池所需的內(nèi)存空間超過了方法區(qū)所能提供的最大內(nèi)存空間后就會拋出outofmemoryerror

運行時常量池(runtime constant pool)

運行時常量池是方法區(qū)的一部分,每一個運行時常量池都分配在jvm的方法區(qū)中,在類和接口被加載到j(luò)vm后,對應(yīng)的運行時常量池就被創(chuàng)建。運行時常量池是每一個類或接口的常量池(constant_pool)的運行時表現(xiàn)形式,它包括了若干種常量:編譯器可知的數(shù)值字面量到必須運行期解析后才能獲得的方法或字段的引用。

如果方法區(qū)的內(nèi)存空間不能滿足內(nèi)存分配請求,那java虛擬機將拋出一個outofmemoryerror異常。

詳解Java虛擬機(JVM)運行時

棧包含frames,當(dāng)調(diào)用方法時,frame被推送到堆棧。一個frame包含局部變量數(shù)組、操作數(shù)棧、常量池引用。

總結(jié)

以上所述是小編給大家介紹的java虛擬機(jvm)運行時,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

原文鏈接:http://virtual.51cto.com/art/201810/585652.htm

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 亚洲成人激情av | 精品国产高清一区二区三区 | 91a在线观看 | 羞羞电影在线观看www | 亚洲性综合网 | 久草导航| 日韩.www| 精品国产一区在线 | 黄色大片网站在线观看 | 在线看免费观看日本 | 精品人成| 一级大片一级一大片 | 337p粉嫩大胆噜噜噜亚瑟影院 | 九九色精品 | 欧美视频一级 | 欧美成人久久 | 久久亚色| 欧美一级免费视频 | 欧美亚成人 | 成人午夜一区 | 欧美 日韩 中文 | 国产精品久久久久久模特 | 91精品国产91 | av电影在线观看网址 | 亚洲精品一区二区三区大胸 | 久久精品美乳 | 99热久草 | 久久久久亚洲a | 欧美精品一区二区久久 | 欧美特黄三级成人 | 成人免费视频视频在线观看 免费 | 一区二区久久久久草草 | 毛片在线播放视频 | 奇米影视亚洲精品一区 | 色成人在线 | 色中色在线播放 | 中文字幕一区2区 | 国产一及毛片 | 久久人添人人爽人人爽人人片av | 高清做爰免费无遮网站挡 | 日本中文字幕久久 |