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

×

Java虛擬機(jī)運(yùn)行時數(shù)據(jù)區(qū)

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-04-20 14:32:25

Java虛擬機(jī)運(yùn)行時,本地方法棧和Java虛擬機(jī)棧的作用是相似的,他的數(shù)據(jù)區(qū)是怎么運(yùn)行的?感興趣的可以和小編一起往下看。

        Java虛擬機(jī)運(yùn)行時,本地方法棧和Java虛擬機(jī)棧的作用是相似的,他的數(shù)據(jù)區(qū)是怎么運(yùn)行的?感興趣的可以和小編一起往下看。

330490-14091606193126(4).jpg

<div>  一、程序計(jì)數(shù)器
  每個Java虛擬機(jī)線程都有自己的程序計(jì)數(shù)器,用于存儲當(dāng)前正在執(zhí)行的虛擬機(jī)指令地址。如果當(dāng)前執(zhí)行的是native方法,那么程序計(jì)數(shù)器的值是undefined。
  因?yàn)镴ava虛擬機(jī)多線程是通過線程輪流切換并分配處理器執(zhí)行時間來實(shí)現(xiàn)的,想要線程切換后能恢復(fù)到正確的執(zhí)行位置,每條線程都必須私有一個程序計(jì)數(shù)器,來存儲當(dāng)前執(zhí)行的虛擬機(jī)指令地址。
  二、Java虛擬機(jī)棧
  Java虛擬機(jī)棧也是每個線程私有的,它存儲著棧幀數(shù)據(jù)。線程執(zhí)行過程中,每個方法從調(diào)用到返回都對應(yīng)著一個棧幀入棧到出棧的過程。如果程序中使用了遞歸,但是沒有遞歸出口,或者方法調(diào)用超過了所允許的最大深度,那么就會拋出StackOverflowError錯誤,如果沒有超過最大深度,但是沒有足夠的內(nèi)存來創(chuàng)建棧幀,那么會拋出OutOfMemoryError錯誤,這也是Java虛擬機(jī)規(guī)范中說明的兩種錯誤。這里只是舉了兩個例子說明,引發(fā)錯誤的可能還有其他方式。
  棧幀,棧幀存儲數(shù)據(jù)和部分結(jié)果,以及方法返回值和異常分發(fā)。每次調(diào)用方法的時候都會創(chuàng)建一個新的棧幀,方法退出時銷毀(無論異常還是正常返回)。棧幀是線程的虛擬機(jī)棧中分配的,每個棧幀都有一個局部變量數(shù)組,操作數(shù)棧以及對當(dāng)前類當(dāng)前方法的常量池的引用。
  三、Java堆
  堆是Java虛擬機(jī)最重要的內(nèi)存區(qū)域,堆是所有線程共享的區(qū)域,也是垃圾收集器管理的主要區(qū)域。主要目的是存放實(shí)例數(shù)據(jù)和數(shù)組的內(nèi)存。堆中又分為新生代、老年代、永久代(Java8以后就去掉了),新生代有分為Eden空間、s1和s2。分這么多區(qū)間是為了更好的管理內(nèi)存。關(guān)于各個區(qū)域分配的細(xì)節(jié)以后另起一篇文章解釋。以下參數(shù)可以指定各個空間的大小和比例:
  -Xms50M,設(shè)置最小堆內(nèi)存為50M
  -Xmx512M,設(shè)置最大堆內(nèi)存為512M
  -XX:NewSize=128m,設(shè)置新生代大小為128M
  -XX:MaxNewSize=128M,設(shè)置新生代最大大小為128M
  -XX:NewRatio=4,設(shè)置老年代和新生代的比例為4:1
  -XX:SurvivorRatio=4,設(shè)置Eden和一個s1空間的比例為4:1,那么Eden:s1:s2是4:1:1
  四、方法區(qū)(永久代)
  方法區(qū)是Java堆的一個邏輯部分,它存儲類結(jié)構(gòu)、運(yùn)行時常量池、字段和方法等數(shù)據(jù)??梢酝ㄟ^參數(shù)-XX:PermSize=256m來指定大小。在Java8以后,該區(qū)域已經(jīng)被移除了,替代的是元數(shù)據(jù)空間Metaspace。在Java8以及更新版本設(shè)置PermSize將會提示:ignoring option PermSize=20M; support was removed in 8.0。
  五、運(yùn)行時常量池
  運(yùn)行時常量池是方法區(qū)的一部分,它存儲從編譯已知的字面量和符號引用以及類版本、字段、方法、接口描述等信息。早期版本中,String.intern()會進(jìn)入常量池存放。Java8及以后,官方的虛擬機(jī)規(guī)范并沒有更改或者詳盡的解釋。有興趣的朋友可以留言討論。
  六、本地方法棧
本地方法棧和Java虛擬機(jī)棧的作用是相似的,他們的區(qū)別是,Java虛擬機(jī)棧是為Java方法服務(wù),本地方法棧是為native方法服務(wù)。官方虛擬機(jī)規(guī)范中并沒有強(qiáng)制本地方法棧中使用的語言、結(jié)構(gòu)進(jìn)行限制,不同的虛擬機(jī)可能有自己不同的實(shí)現(xiàn)。Sun的HotSpot虛擬機(jī)貌似是將本地方法棧和Java虛擬機(jī)棧合二為一了。
這就是小編介紹的幾個方法。

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

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

Loading
无码人妻精品一区二区三区99v| 伊人欧美一区| 开心5月综合另类一区| 久久本道| 一本到ren在线播放| 国产黄色精品久久| 亚洲AV无码AV另类专区| 激情久久综合久久| 婷婷色亿亚洲五月| 天堂8| 高h文视频| 久久不见久久见免费视频观看| 一级特级黄片儿。| 日日干,夜夜操| 东京天堂热| 安全免费潮喷av| 麻豆足交| 亚洲国产午夜AV| 美丽美女被操国产| 91精品无码人妻系列九色| 成人免费视频在线看′| 亚洲aⅴ无码专区在线观看| 五月丁香中文在线| 免费av看片综合网| 国产涩涩在线观看| 中文字幕亚洲视频一区| 岛国AAAA级午夜福利片| 性爱一区二区视频| 亚州精品无码人妻久久| 亚洲人妻爆乳一区二区| 日韩精品无码免费专区午夜不卡| 九九视频一区| 激情久久久西西西西| 国产成人无码短视频| 搜久久一级毛片| 久久久黑人一级片| 色男人色天堂色逼| 波多野结衣一区二区三区| 久久群交| 亚洲欧美自偷情| 17c无码|