<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國際加速解決方案。 廣告
                [TOC] <br/> > ### `JVM`運行時數據區 * **程序計數器**`PC` * 線程私有,是一塊很小的內存區域,存儲了下一條需要執行的(JVM匯編)字節碼的指令地址.每個線程都有自己的PC,記錄了當前線程要執行的指令。 * **虛擬機棧**`VM Stack` * 線程私有,此棧中的元素叫做棧幀,線程在調用java方法時會為每一個元素創建一個棧幀,來存儲**局部變量表,操作表,動態鏈接,方法出口**等信息 * 每個方法被調用和完成的過程,都對應一個棧幀從虛擬機棧上的入棧和出棧的過程。虛擬機棧的生命周期和虛擬機相同。 * 后入先出棧,線程調用對象方法時,JVM會創建一個棧幀放到虛擬機棧中,用來表示某個方法的調用,調用過程就是方法的入棧和出棧過程。 * **本地方法棧**`Native Method Stack` * 線程私有,功能和虛擬機棧相似,存儲線程調用本地方法時,本地放法的局部變量表,操作棧等。 * **堆** `Heap` * Heap區被所有的線程共享,在虛擬機啟動時創建。 * 存放對象實例,Heap區是垃圾回收管理的主要區域 * **方法區**`Method area` * 被所有線程共享,用于存儲已經被虛擬機加載的**類信息,常量,靜態變量**,即時編譯器編譯出來的代碼等數據。 * ![](https://i.loli.net/2019/03/11/5c863d103d765.png) <br/> * ![](https://i.loli.net/2019/03/11/5c8677aa85c42.png) <br/> > ### 對象的創建 * 當`JVM`遇到一條`new`指令,首先檢查這個指令的參數能否在常量池中定位到一個類的符號引用,并且檢查這個符號引用代表的類是否已被加載、解析和初始化過。若沒有,則先執行類的初始化過程。 * 類加載檢查通過后,`JVM`為新生對象分配內存,對象所需內存大小在類加載完成后便可確定。分配內存有兩種方式: * 指針碰撞,Java堆中內存是規整的 * 空閑列表,內存不規整,內存規整與否由垃圾收集器決定,CMS收集器是標記清除算法,內存不規整,所以采用空閑列表 * 內存分配完成后,`JVM`將舒適化的內存空間設置零值 * 設置對象頭,如對象指向哪個類、類的元數據信息、對象的Hash碼、對象的GC分代年齡、偏向鎖等信息 * 執行對象的構造函數 <br/> > ### 類加載 ![](https://i.loli.net/2019/03/11/5c8643285a1bb.png)
                  <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>

                              哎呀哎呀视频在线观看