<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 內存分配策略 * 優先分配到eden * 大對象直接分配到老年代 * 長期存活的對象分配到老年代 * 空間分配擔保 * 動態對象年齡判斷 * 逃逸分析和棧上分配 # 大對象直接分配到老年代 典型是大對象就是很長的字符串或者數組. 大對象對虛擬機是個壞消息,更壞的是朝生夕死的大對象. jvm提供了`-XX:PretenureSizeThreshold`參數,大于這個參數對象就直接在老年代分配.這樣做的目的是避免在Eden區以及兩個Survivor區之間發生大量的內存復制(新生代用的復制算法) `-XX:PretenureSizeThreshold`只針對Serial和ParNew有效 # 長期存活的對象分配到老年代 jvm給每個對象定義了一個年齡age的計數器. 在Eden出生,并且經過一次Minor GC后,并且能在Survivor放,就會移動到Survivor區域,age+1. 對象每次在Survivor區域熬過一次Minor GC,age就+1. age加到一定程度(默認15歲),就到老年代中. 年齡的閾值,通過參數`-XX:MaxTenuringThreshold`設置 在后續的java版本,并不是嚴格執行這個的 # 動態對象年齡判斷 為了適應不同程序.jvm不是要求年齡必須達到`-XX:MaxTenuringThreshold`設置,才可以到老年代. 如果在Survivor空間中相同年齡所有對象大小的總和大于Survivor空間的一半,年齡大于或等于該年齡的對象就可以直接進入老年代 # 空間分配擔保 在發生minor gc之前,虛擬機會檢測 : 老年代最大可用的連續空間>新生代all對象總空間? 1. 滿足,minor gc是安全的,可以進行minor gc 2. 不滿足,虛擬機查看`-XX:+HandlePromotionFailure`參數: * 為true,允許擔保失敗,會繼續檢測老年代最大可用的連續空間>歷次晉升到老年代對象的平均大小。若大于,將嘗試進行一次minor gc,若失敗,則重新進行一次full gc * 為false,則不允許冒險,要進行full gc(對老年代進行gc)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看