久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    jvm的內(nèi)存區(qū)域簡介

     孤獨一兵 2016-10-20

    jvm在執(zhí)行java程序過程中會將管理的內(nèi)存劃分成若干不同的數(shù)據(jù)區(qū)域,他們分別是程序計數(shù)器,堆,方法區(qū),虛擬機棧,本地方法棧。

    1.1程序計數(shù)器

    指令計數(shù)器是線程私有的,每個線程都有獨立的指令計數(shù)器,計數(shù)器記錄著虛擬機正在執(zhí)行的字節(jié)碼的指令地址,分支,循環(huán),跳轉(zhuǎn),異常處理和線程恢復等操作都依賴這個計數(shù)器完成,如果線程執(zhí)行的native方法,則這個計數(shù)器為空。

    1.2虛擬機棧

    虛擬機棧是線程私有的,主要用于存放局部變量表,操作棧,動態(tài)鏈接,方法出口等信息,由于每個方法被執(zhí)行都會創(chuàng)建對應的線幀,方法被調(diào)用到直至完成調(diào)用的過程,實際對應線幀在操作棧中入棧和出棧的過程。在java虛擬機規(guī)范中,對這個區(qū)域規(guī)定了兩種異常情況:如果線程請求的棧深度大于規(guī)定的深度,則拋出StackOverFlowError異常;如果虛擬機棧的動態(tài)擴展到了無法申請的足夠內(nèi)存時候?qū)伋鯫utOfMemberError異常。

    1.3本地方法棧

    本地方法棧和虛擬棧的功能相似,包括上述2個異常情況也一樣,區(qū)別在于虛擬機棧是為虛擬機執(zhí)行的java服務,而本地方法棧是為虛擬機使用的Native方法服務。

    1.4堆

    堆是內(nèi)存中最大的區(qū)域,并且它是所有線程共享的區(qū)域。它的唯一作用就是存放對象實例,根據(jù)jvm規(guī)范的規(guī)范,它的內(nèi)存空間可以使不連續(xù)的,只要在邏輯上連續(xù)的即可。

    1.5 方法區(qū)

    方法區(qū)和堆一樣,是被所有線程共享的運行時區(qū)域,它用于存放被虛擬機加載的累信息,常量,靜態(tài)變量,即時編譯后的代碼等數(shù)據(jù),跟堆的情況一樣,當方法區(qū)無法滿足內(nèi)存分配需求時,也會拋出OutOfMemberError的異常。

    運行時常量池也屬于方法區(qū)的一部分。class文件除了有版本,字段,方法,接口等描述信息外,其中還有信息是常量池,用于存放編譯后的各種字面量和符號引用,這部分將在類加載后存放到方法區(qū)的常量池中。另外java語言并非要求常量一定一定在編譯期間產(chǎn)生,即是并非預置入的class文件常量池的內(nèi)存才能進入方法區(qū)的運行時常量池,運行期間同樣也能進入。

    1.6直接內(nèi)存

    直接內(nèi)存并不屬于虛擬機運行時的數(shù)據(jù)區(qū)的一部分, 也不是java虛擬機規(guī)范中定義的內(nèi)存區(qū)域,但這部分內(nèi)存被頻繁使用到,并且也會爆outofmemoryError異常。

    在java jdk1.4中加入了NIO類,引入了基于通道(Channel)與緩沖區(qū)(Buffer)的I/O方式,它可以直接使用Native函數(shù)分配堆外的內(nèi)存,然后通過存儲在java堆中DirectByteBuffer對象作為這塊內(nèi)存的引用直接操作,這樣避免了java堆和Native堆來回復制的問題,提升了行性能。

    2 對象訪問

    java虛擬機規(guī)定了一個對象變量指向一個對象的引用,并沒有定義這個引用以何種方式去定位,以及訪問到java堆的具體位置,所以不同的虛擬機實現(xiàn)對象訪問的方式略有不同,大概主流的分為:句柄和直接指針。

    使用句柄訪問方式,java堆會劃出一個內(nèi)存區(qū)域作為句柄池,對象的變量存儲的就是句柄池的地址,而句柄池中就存放了對象實例的數(shù)據(jù)以及對象類型信息的地址信息。若使用直接訪問方式,對象變量中存儲的直接是對象實例的數(shù)據(jù)以及對象類型信息的地址信息。

    兩種訪問方式各有優(yōu)勢,句柄訪問的優(yōu)勢在于對象變量可存儲穩(wěn)定的地址,當對象移動時,只需改變句柄池的地址,變量本身無需修改。直接訪問的優(yōu)勢明顯在于訪問速度快,sun HotSpot就是采用第二種對象訪問方式。

      本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 色一情一乱一伦麻豆| 午夜福利精品国产二区| 亚洲人成电影在线天堂色| 国产裸体美女视频全黄| 亚洲AV无码一区东京热久久| 精品视频不卡免费观看| 狠狠色噜噜狠狠亚洲AV| 精品不卡一区二区三区| 四虎国产精品成人| 亚洲av无码精品色午夜蛋壳| 亚洲乱理伦片在线观看中字| 亚洲AV无码不卡私人影院| 成年女人片免费视频播放A| 久久99国产精品久久99小说| 天堂mv在线mv免费mv香蕉| 国产午夜精品一区理论片| 少妇被黑人到高潮喷出白浆| 人妻人人做人做人人爱| 二区中文字幕在线观看| 国产香蕉尹人在线视频你懂的| 亚洲人妻系列中文字幕| 老子影院午夜精品无码| 欧美巨大极度另类| 亚洲日韩精品欧美一区二区| 欧美老少配性行为| 五月天婷婷激情无码专区| 国产成熟妇女性视频电影| 人妻人人澡人人添人人爽| 久久久久成人片免费观看蜜芽| 久久99精品久久久久久9| 国产SUV精品一区二区四| 日本深夜福利在线观看| 亚洲国产精品久久久久久无码| 色九月亚洲综合网| 成人乱码一区二区三区四区| 不卡AV中文字幕手机看| 免费无码AV一区二区波多野结衣| 婷婷综合久久狠狠色成人网| 欧洲卡一卡二卡三爱区| 成人3D动漫一区二区三区| 久久久久免费看成人影片|