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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### Method Area\(Non-Heap\)方法區 方法區是所有線程共享的內存區域,用于存儲已加載的類信息(Klass元數據)、常量、靜態變量、即時編譯器編譯后的代碼等數據; 方法區包含運行時常量池,Class 文件的各種字面量和符號引用,在類加載后會存入到運行時常量池中。直接引用也會存儲在運行時常量池。除了類加載階段,運行時常量也可以動態加入,比如String的 intern\(\)方法; 其實在很久以前,是不存在永久代的。當時永久代與年老代都存放在一起,里面包含了JAVA類的實例信息以及類信息。但是后來發現,對于類信息的卸載幾乎很少發生,因此便將二者分離開來 #### 數據對象 * 已加載類信息 * 該類型的全限定名如java.io.FileOutputStream * 該類型的直接超類的全限定名如java.io.OutputStream * 該類型是類類型還是接口類型 * 該類型的訪問修飾符\(public、abstract、final\) * 任何直接超接口的全限定名的有序列表如java.io.Closeable, java.io.Flushable * 指向Class類的引用 * 字段和方法數據 * 字段信息:對類型中聲明的每個字段 * 方法信息 * 構造函數和普通方法的字節碼內容 * 接口初始化時需要用到的特殊方法 * 運行時常量池:類和接口的全限定名、字段的名稱和描述符、基本數據類型的直接數值(final)等 * 靜態變量:靜態變量而不是放在堆里面,所以靜態屬于類,不屬于對象 * 即時編譯器編譯后的代碼 * 指向ClassLoader類的引用 * 方法表:為了能快速定位到類型中的某個方法,JVM對每個裝載的類型都會建立一個方法表,用于存儲該類型對象可以調用的方法的直接引用,這些方法就包括從超類中繼承來的而這張表與Java動態綁定機制的實現是密切相關的 ### JVM參數 PermSize:在Linux下JDK8默認大小為20.79M; #### 注意 * JDK1.7的HotSpot已經把放在永久代的字符串常量池移出 * JDK1.8已將PermGen從Heap中移除 * 特別說明:java類中所有public和protected的實例方法都采用動態綁定機制,所有私有方法、靜態方法、構造器及初始化方法&lt;clinit&gt;都是采用靜態綁定機制。而使用動態綁定機制的時候會用到方法表,靜態綁定時并不會用到 #### 知識點 * 如果沒有顯式要求不對方法區進行內存回收,GC回收目標僅針對方法區中的常量池和類型卸載; * JAVA虛擬機規范對方法區的限制非常寬松,除了和JAVA堆一樣不需要連續的內存和可以選擇固定大小或者可擴展外,還可以選擇不實現垃圾收集; 對于Perm事實上是Hotspot虛擬機的特定實現,HotSpot虛擬機把GC分代收集擴展至方法區,所以在HotSpot可以稱它為永久代\(Permanent Generation\),對于其他虛擬機不存在永久代的概念; 由于Perm主要存儲類信息,對于動態生成類的場景容易出現OOM;比如jsp頁面比較多大的場景,容易出現永久代的OOM;
                  <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>

                              哎呀哎呀视频在线观看