<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,  comments - 15,  trackbacks - 0
    JVM內(nèi)部體系結(jié)構(gòu)


    Sun JDK在實現(xiàn)時遵照JVM規(guī)范,將內(nèi)存空間劃分為方法區(qū)、堆、本地方法棧、PC寄存器、jvm方法棧。
    方法區(qū)
        方法區(qū)主要存放要加載的類的信息,比如類的名稱、類的修飾符、類中的靜態(tài)變量、final類型的常量、field、method等信息。方法區(qū)是線程共享的,在一定條件下也會被GC,當方法區(qū)要使用的內(nèi)存超過其允許的大小時,會拋出OutOfMemory的錯誤信息。
        方法區(qū)的存儲區(qū)域?qū)狿ermanet Generation(又稱,持久代),其默認值為{16MB-64MB},它的大小可以通過如下選項進行調(diào)整:
                                                最小值:-XX:PermSize
                                                最大值:-XX:MaxPermSize

        堆用于存儲新創(chuàng)建的對象和數(shù)組。其大小可以通過如下選項進行調(diào)整:
                                                最小值:-Xms
                                                最大值:-Xmx
        為了讓內(nèi)存回收更有效率,Sun JDK從1.2開始對堆采用分代管理的方式。
                            heap = New Generation (新生代)+ Old Generation(舊生代)
        其中,New Generation又可以分為Eden SpaceSurvivor Space,而Survivor Space由兩塊大小相同的區(qū)域組成(通常稱為S0、S1)。那么,Eden Space、S0、S1用途上有什么區(qū)別嗎?先來說說Eden Space,由于堆是線程共享的,因此在堆上分配內(nèi)存是需要加鎖的,這就導致創(chuàng)建對象開銷增大,Sun JDK為了提升內(nèi)存分配的效率,會為每個線程在新生代的Eden Space上分配一塊獨立的空間,這塊空間叫做TLAB(Thread Local Allocation Buffer),因此Eden Space是多個線程獨享的連續(xù)的內(nèi)存區(qū)域,在一個線程內(nèi)創(chuàng)建對象,JVM首先考慮在Eden Space的TLAB上分配,如果對象過大或者TLAB空間已用完,那么將在堆上分配。S0、S1也用于新創(chuàng)建對象的存儲,他們的另外一個用途是在GC時的臨時復制空間。
                                               新生代大小值:-Xmn
                                               Survivor Space大小:-XX:SurvivorRatio
        舊生代主要存放多次GC后仍然存活的對象,不過,新建的對象也有可能在舊生代上分配。一種是大對象(-XX:PretenureSizeThreshold來確定),另一種是大數(shù)組,且數(shù)組未引用外部對象。舊生代大小:
                                                舊生代大小值=-Xmx 減去 -Xmn
    JVM方法棧
        JVM方法棧是線程私有的,其在內(nèi)存分配上非常高效。當JVM方法棧空間不足時,會拋出StackOverflowError的錯誤。JVM方法棧可通過如下選項進行調(diào)整:
                                                JVM方法棧大小:-Xss


    posted on 2011-06-22 16:17 zhangxl 閱讀(988) 評論(0)  編輯  收藏 所屬分類: 優(yōu)化

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊

    收藏夾(2)

    hibernate

    java基礎(chǔ)

    mysql

    xml

    關(guān)注

    壓力測試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96297
    • 排名 - 601

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久亚洲精品美女| 亚洲裸男gv网站| 亚洲成年人免费网站| 久久青草免费91观看| 亚洲成色在线影院| 少妇人妻偷人精品免费视频 | 亚洲av无码成人精品国产| 国产免费的野战视频| 狠狠色伊人亚洲综合网站色 | 24小时日本韩国高清免费| 亚洲视频在线观看网址| 免费A级毛片无码A∨免费| 亚洲导航深夜福利| 最近中文字幕无免费视频| 亚洲AV无码精品国产成人| 亚洲精品成人区在线观看| 黄色网页在线免费观看| 久久亚洲国产伦理| 啦啦啦完整版免费视频在线观看| 亚洲影视一区二区| 免费精品一区二区三区在线观看 | 亚洲视频在线观看视频| 男男AV纯肉无码免费播放无码| 亚洲中文字幕久久久一区| jjzz亚洲亚洲女人| 中文字幕在线免费看线人| 亚洲图片激情小说| 国产免费看插插插视频| 国产一级一毛免费黄片| 亚洲国产日韩在线成人蜜芽| 日韩电影免费在线| 99免费精品视频| 亚洲a级片在线观看| 国产成人精品日本亚洲专区| 最近中文字幕大全中文字幕免费 | 国产大片91精品免费观看不卡| 亚洲乱妇老熟女爽到高潮的片| 在线精品亚洲一区二区三区| 亚洲精品在线免费观看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久久久久av无码免费看大片|