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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 解釋器 當虛擬機啟動時,解釋器可以首先發揮作用,而不必等待編譯器全部編譯完成再執行,這樣可以省去許多不必要的編譯時間。并且隨著程序運行時間的推移,編譯器逐漸發揮作用,根據熱點探測功能,將有價值的字節碼編譯為本地機器指令,以換取更高的程序執行效率。 > hotspot中內嵌有2個JIT編譯器,分別為Client Compiler,Server Compiler,但大多數情況下我們稱之為C1編譯器和C2編譯器 ## C1編譯器 client compiler,又稱C1編譯器,較為輕量,只做少量性能開銷比較高的優化,它占用內存較少,適合于桌面交互式應用。在寄存器分配策略上,JDK6以后采用的為線性掃描寄存器分配算法,其他方面的優化,主要有方法內聯、去虛擬化、冗余消除等 ## C2編譯器 Server compiler,稱為C2編譯器,較為重量,采用了大量傳統編譯優化的技巧來進行優化,占用內存相對多一些,適合服務器端的應用。和C1的不同主要在于寄存器分配策略及優化范圍,寄存器分配策略上C2采用的為傳統的圖著色寄存器分配算法,由于C2會收集程序運行信息,因此其優化范圍更多在于全局優化,不僅僅是一個方塊的優化。收集的信息主要有:分支的跳轉/不跳轉的頻率、某條指令上出現過的類型、是否出現過空值、是否出現過異常等。 **逃逸分析**是C2進行很多優化的基礎,它根據運行狀態來判斷方法中的變量是否會被外部讀取,如不會則認為此變量是不會逃逸的,那么在編譯時會做標量替換、棧上分配和同步消除等優化。
                  <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>

                              哎呀哎呀视频在线观看