最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JVM的內(nèi)存數(shù)據(jù)區(qū)域是什么-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中的小編將會給大家?guī)碛嘘P(guān)JVM的內(nèi)存數(shù)據(jù)區(qū)域的講解,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)主營猇亭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),猇亭h5微信小程序定制開發(fā)搭建,猇亭網(wǎng)站營銷推廣歡迎猇亭等地區(qū)企業(yè)咨詢

JAVA程序運行于虛擬機(jī)之上,運行時需要內(nèi)存空間。虛擬機(jī)執(zhí)行JAVA程序的過程中會把它管理的內(nèi)存劃分為不同的數(shù)據(jù)區(qū)域方便管理。虛擬機(jī)管理內(nèi)存數(shù)據(jù)區(qū)域劃分如下圖:

JVM的內(nèi)存數(shù)據(jù)區(qū)域是什么

一、程序計數(shù)器(Program Counter Register)

行號指示器,字節(jié)碼指令的分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)(CPU切換),每條線程都需要一個獨立的計數(shù)器,線程私有內(nèi)存互不影響,該區(qū)域不會發(fā)生內(nèi)存溢出異常。

二、虛擬機(jī)棧(VM Stack)

虛擬機(jī)棧(VM Stack)是線程私有的,聲明周期與線程相同,虛擬機(jī)棧是Java方法執(zhí)行的內(nèi)存模型,每個方法被執(zhí)行時都會創(chuàng)建一個棧幀,即方法運行期間的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)。

棧幀用于存儲:局部變量表、操作數(shù)棧、動態(tài)鏈接、方法出口等,每個方法執(zhí)行中都對應(yīng)虛擬機(jī)棧幀從入棧到處棧的過程。是一種數(shù)據(jù)結(jié)構(gòu),是虛擬機(jī)中的局部變量表,對應(yīng)物理層之上的程序數(shù)據(jù)模型。

局部變量表,是一種程序運行數(shù)據(jù)模型,存放了編譯期可知的各種數(shù)據(jù)類型例如:

Boolean、byte、char、short、int、float、long、double、對象引用類型(對象內(nèi)存地址變量,指針或句柄)。程序運行時,根據(jù)局部變量表分配棧幀空間大小。在運行中,大小是不變的異常類型:stackOverFlowError 線程請求棧深度大于虛擬機(jī)允許深度 OutOfMemory 內(nèi)存空間耗盡無法進(jìn)行擴(kuò)展。

三、本地方法棧(Native Method Stack)

與虛擬機(jī)棧類似,虛擬機(jī)棧為Java程序服務(wù),本地方法棧支持虛擬機(jī)的運行服務(wù),具體實現(xiàn)由虛擬機(jī)廠商決定,也會拋出 stackOverFlowError、OutOfMemory異常。

四、堆(Heap)

堆(Heap)是虛擬機(jī)管理內(nèi)存中大的一部分,被所有線程共享,用于存放對象實例(對象、數(shù)組),物理上不連續(xù)的內(nèi)存空間,由于GC收集器,分代收集,所以劃分為:新生代 Eden、From SurVivor空間、To SurVivor空間,allot buffer(分配空間),可能會劃分出多個線程私有的緩沖區(qū),老年代。

五、方法區(qū)(Method Area)

方法區(qū)(Method Area)與堆區(qū)一樣屬于線程共享的內(nèi)存區(qū)域,用于存儲虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼(動態(tài)加載OSGI)等數(shù)據(jù)。理論上屬于java虛擬機(jī)的一部分,為了區(qū)分開來叫做 Non-Heap非堆。

這個區(qū)域可以選擇不進(jìn)行垃圾回收,該區(qū)域回收目的主要是常量池的回收,及類型的卸載class,內(nèi)存區(qū)不足時會拋出OutOfMemory異常。

運行時常量池:方法區(qū)的一部分,Class的版本、字段、接口、方法等,及編譯期生成的各種字面量、符號引用,編譯類加載后存放在該區(qū)域。會拋出OutOfMemory異常。

六、直接內(nèi)存(Direct Memory)

直接內(nèi)存(Direct Memory)不屬于虛擬內(nèi)存區(qū)域,是一種基于通道與緩沖區(qū)的IO方式,可以使用本地函數(shù)直接分配堆外內(nèi)存,在堆中存儲引用的外部內(nèi)存地址,通過引用完成對直接引用內(nèi)存的操作,1.4之后提供的NIO顯著提高效率,避免了堆內(nèi)存與Native內(nèi)存的來回復(fù)制操作,不受虛擬機(jī)內(nèi)存控制,會拋出OUTOfMemory異常。

上述就是小編為大家分享的JVM的內(nèi)存數(shù)據(jù)區(qū)域,如果您也有類似的疑惑,不妨礙參照上述分析進(jìn)行理解。如果想了解更多相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站標(biāo)題:JVM的內(nèi)存數(shù)據(jù)區(qū)域是什么-創(chuàng)新互聯(lián)
新聞來源:http://fisionsoft.com.cn/article/phjid.html