1. gzyueqian
      13352868059

      Java培訓:jvm內存組件,你了解多少

      更新時間: 2021-10-15 09:53:31來源: 粵嵌教育瀏覽量:12293

        JVM使用的內存不僅僅是堆。例如,Java方法、線程堆棧和本機句柄在內存中與堆以及JVM內部數據結構分開分配。若想要更加系統更加詳細的學習 JVM 知識,建議參加java培訓,有經驗豐富的專業講師面授指導教學,能夠幫你更全面了解JVM。


        -Xmx參數的值控制Java堆的最大大小,Java堆不是JVM分配的唯一內存。除了永久性生成或Metaspace(基于java,從JDK 8起,Meta Space就在那里),CodeCache,其他JVM內部使用的本機C++堆,線程堆棧的空間,直接字節緩沖區,GC開銷,以及JVM內存消耗中包含的其他東西。


        以下是一些其他JVM內存組件:


        Metaspace(元空間)


        JDK 8之前的HotSpot JVM有第三種類型的生成,稱為永久生成,它與Java堆相鄰。它包含JVM用來描述應用程序中使用的類和方法的元數據。從JDK 8開始,Permanent被一個稱為Metaspace的新空間所取代,該空間與Java堆不相鄰。Metaspace是從本機內存中分配的。MaxMetaspaceSize參數限制JVM中Metaspace的使用。默認情況下,Metaspace沒有限制,它以非常小的默認值開始,并根據需要以較小的增量增長。Metaspace只包含類元數據,所有活動Java對象部分都被移動到堆內存中,因此Metaspace的使用率遠低于永久生成。通常,無需指定最大Metaspace大小,除非面臨較大的Metaspace泄漏。在java培訓中,也有關于JVM內存的學習,學好這部分的知識,可以避免在工作中出現的很多問題。



        CodeCache


        CodeCache是包含JVM生成的本機代碼的內存區域。JVM生成本機代碼的原因有很多。這些原因包括動態生成的解釋器循環、JNI存根和由JIT編譯器編譯成本機代碼的Java方法。JIT編譯器貢獻了大部分代碼緩存區域。


        ThreadStackSize/Xss


        -XX:ThreadStackSize=size設置線程堆棧大小(以字節為單位)。附加字母k或K表示千字節,m或M表示兆字節,或g或G表示千兆字節。Xss的默認值取決于您運行的操作系統和體系結構。此選項相當于-Xss。


        JVM一向很好的幫我們管理內存,它是Java程序運行的環境,同時是一個操作系統的一個應用程序進程,因此它有自己的生命周期,也有自己的代碼和數據空間。參加java培訓學習,可以在短時間內獲得很大提升,避免在學習上多走彎路,節省時間,提高學習效率。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩欧美亚洲中文综合v日本 | 精品在线国产午夜精品 | 亚洲欧美日韩综合一区 | 精品免费久久久国产一区 | 亚洲乱码中文字字幕 | 中文字幕欧美爱亚洲 |