麻豆成人91精品二区三区,国产91在线播放,加勒比无码专区中文字幕,欧美黑人XXXX高潮猛交

×

Java虛擬機(jī)堆棧

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-15 14:35:32

棧位于通用RAM中,但通過(guò)它的“堆棧指針”可以從處理器哪里獲得支持。堆棧指針若向下移動(dòng),則分配新的內(nèi)存;若向上移動(dòng),則釋放那些內(nèi)存。存儲(chǔ)讀取速度,僅次于寄存器。存放基本類(lèi)型數(shù)據(jù)變量和對(duì)象、數(shù)組等引用類(lèi)型的引用!

   棧位于通用RAM中,但通過(guò)它的“堆棧指針”可以從處理器哪里獲得支持。堆棧指針若向下移動(dòng),則分配新的內(nèi)存;若向上移動(dòng),則釋放那些內(nèi)存。存儲(chǔ)讀取速度,僅次于寄存器。存放基本類(lèi)型數(shù)據(jù)變量和對(duì)象、數(shù)組等引用類(lèi)型的引用!

<div>  1.程序計(jì)數(shù)器
1487903609904368.jpg
  程序計(jì)數(shù)器(Program Counter Register) 是一塊較小的內(nèi)存空間,它可以看作是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。在虛擬機(jī)的概念模型里,字節(jié)碼解釋器工作時(shí)就是通過(guò)改變這個(gè)計(jì)數(shù)器的值來(lái)選取下一條執(zhí)行字節(jié)碼指令。
  每條線程都有一個(gè)獨(dú)立的程序計(jì)數(shù)器。
  如果執(zhí)行的是java方法,這個(gè)計(jì)數(shù)器記錄的是正在執(zhí)行的虛擬機(jī)字節(jié)碼指令地址。如果是native方法,計(jì)數(shù)器為空。此內(nèi)存區(qū)域是唯一一個(gè)在java虛擬機(jī)規(guī)范中沒(méi)有規(guī)定任何OutOfMemoryError情況的區(qū)域。
  2.Java虛擬機(jī)棧
  同樣是線程私有,描述Java方法執(zhí)行的內(nèi)存模型:每個(gè)方法在執(zhí)行的同時(shí)都會(huì)創(chuàng)建一個(gè)棧幀(Stack Frame)用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等信息。一個(gè)方法對(duì)應(yīng)一個(gè)棧幀。
  局部變量表存放了各種基本類(lèi)型、對(duì)象引用和returnAddress類(lèi)型(指向了一條字節(jié)碼指令地址)。其中64位長(zhǎng)度long 和 double占兩個(gè)局部變量空間,其他只占一個(gè)。
  規(guī)定的異常情況有兩種:1.線程請(qǐng)求的棧的深度大于虛擬機(jī)所允許的深度,將拋出StackOverflowError異常;2.如果虛擬機(jī)可以動(dòng)態(tài)擴(kuò)展,如果擴(kuò)展時(shí)無(wú)法申請(qǐng)到足夠的內(nèi)存,就拋出OutOfMemoryError異常。
  3.本地方法棧
  和Java虛擬機(jī)棧很類(lèi)似,不同的是本地方法棧為Native方法服務(wù)。
  4.Java堆
  是Java虛擬機(jī)所管理的內(nèi)存中最大的一塊。由所有線程共享,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。堆區(qū)唯一目的就是存放對(duì)象實(shí)例。
  堆中可細(xì)分為新生代和老年代,再細(xì)分可分為Eden空間、From Survivor空間、To Survivor空間。
  堆無(wú)法擴(kuò)展時(shí),拋出OutOfMemoryError異常
  5.方法區(qū)
  所有線程共享,存儲(chǔ)已被虛擬機(jī)加載的類(lèi)信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
  當(dāng)方法區(qū)無(wú)法滿(mǎn)足內(nèi)存分配需求時(shí),拋出OutOfMemoryError
  6.運(yùn)行時(shí)常量池
  它是方法區(qū)的一部分,Class文件中除了有類(lèi)的版本、字段、方法、接口等描述信息外,還有一項(xiàng)是常量池(Const Pool Table),用于存放編譯期生成的各種字面量和符號(hào)引用。并非預(yù)置入Class文件中常量池的內(nèi)容才進(jìn)入方法運(yùn)行時(shí)常量池,運(yùn)行期間也可能將新的常量放入池中,這種特性被開(kāi)發(fā)人員利用得比較多的便是String類(lèi)的intern()方法。
  當(dāng)方法區(qū)無(wú)法滿(mǎn)足內(nèi)存分配需求時(shí),拋出OutOfMemoryError
  7.直接內(nèi)存
  并不是虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)的一部分,也不是Java虛擬機(jī)規(guī)范中定義的內(nèi)存區(qū)域。
  JDK1.4加入了NIO,引入一種基于通道與緩沖區(qū)的I/O方式,它可以使用Native函數(shù)庫(kù)直接分配堆外內(nèi)存,然后通過(guò)一個(gè)存儲(chǔ)在Java堆中的DirectByteBuffer對(duì)象作為這塊內(nèi)存的引用進(jìn)行操作。因?yàn)楸苊饬嗽贘ava堆和Native堆中來(lái)回復(fù)制數(shù)據(jù),提高了性能。
  當(dāng)各個(gè)內(nèi)存區(qū)域總和大于物理內(nèi)存限制,拋出OutOfMemoryError異常。

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢(xún)獲取折扣

Loading
日韩激情14| 97久久艹福利视频| 87影院| 九九成人电影| 欧美亚洲韩国日本在线| 国产色色精品| 中文字幕淫乱小说| 成人午夜视频精品一区| 欧美韩精品| 东京综合热伊人丫丫1| 中文字幕在线一| 四虎青年影院| 欧美午夜| 国产a三级片| 被黑人插入子宫| 丁香五月宝贝网激情网| 亚洲国产欧美精品| 综合加勒比AV| 久久久黑人双飞| 老熟女太老了88AV| 激情五月丁香在线| 99亚洲影视精品| 精品在线精品在线| 亚洲日韩AV无码一区二区三区| 亚洲m在线观看| 亚洲人妖一区二区三区| 国产最新av| 大香蕉AV网| 亚洲暖暖的毛片视频| 老妇无码一级片| 国产精品久久久久免费A∨| 欧美亚洲国产精品一区| 国产在线搜索| 亚洲日韩天堂色网| 成人一区二区三区视频在线观看| 60后熟妇乱视频| 六月丁香亚洲婷婷| 玩弄放荡人妻少妇系列视频| 日韩精品ww| 国产一级片av在线| 亚洲三级99|