<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 垃圾標記算法 目前最常見的兩種垃圾標記算法為引用計數算法和可達性分析算法\(根搜索算法\) * 引用計數算法\(Reference Counting\) * 可達性分析算法\(Reachability Analysis\) ##### 引用計數算法 對于創建的每一個對象都有一個與之關聯的計數器,這個計數器記錄著該對象被使用的次數,垃圾收集器在進行垃圾回收時,對掃描到的每一個對象判斷一下計數器是否等于0,若等于0,就會釋放該對象占用的內存空間,同時將該對象引用的其他對象的計數器進行減一操作 * 優點:實現簡單,高效 * 缺點:**無法解決對象相互循環引用問題** * 當前主流JVM沒有選用引用計數法來管理內存 ##### 可達性分析算法 算法的基本思路就是通過一系列的稱為“GC Roots”的對象作為起始點,從這些節點開始向下搜索,搜索所走過的路徑稱為引用鏈(Reference Chain),當一個對象到GC Roots沒有任何引用鏈相連(用圖論的話來說,就是從GC Roots到這個對象不可達)時,則證明此對象是不可用的。如圖3-1所示,對象object 5、object 6、object 7雖然互相有關聯,但是它們到GC Roots是不可達的,所以它們將會被判定為是可回收的對象 ![](https://img.kancloud.cn/8a/15/8a1565f4fb35a6de4bac9d51e0c429da_950x447.png) #### ##### ##### JAVA中的GC Roots對象 * 虛擬機棧\(棧幀中的本地變量表\)中引用的對象 * 方法區類靜態屬性引用的對象 * 本地方法棧中的JNI\(即一般說的Native方法\)引用的對象 * 方法區中常量引用的對象 ![](https://img.kancloud.cn/ae/9a/ae9a90f8f2e847c09ccb60f54531769e_673x194.png) #### 內存碎片 一旦實例從堆內存中被刪除,其位置就會變空并且可用于未來實例的分配。這些空出的空間將會使整個內存區域碎片化。為了實例的快速分配,需要進行碎片整理。基于垃圾回收器的不同選擇,回收的內存區域要么被不停地被整理,要么在一個單獨的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>

                              哎呀哎呀视频在线观看