zoukankan      html  css  js  c++  java
  • 类元数据Class Metadata

    Java classes在Java hotspot VM内部表示为类元数据。
    在之前Java hotspot VM版本,类元数据在持久代中分配。
    在JDK8,持久代被移除,并且类元数据在本地内存中分配。
     
    默认情况下,本地内存都可以被用于类元数据。
    可以使用MaxMetaspaceSize 选项设置在本地内存允许设置的最大类元数据。
    Java hotspot VM显示的管理元数据空间。
    OS请求空间,然后分成分片,类加载器分配元数据空间从分片中,当类没有被加载器加载时,它的分片交被回收以备OS重新使用。
    元数据使用由mmap分配的空间,而不是由malloc分配的。
    如果UseCompressedOops 与UseCompressedClassesPointers 选项同时被使用,那么两种逻辑不同的本地内存区域会处理类元数据。
     
    当类被卸载时,类元数据将被释放。由于垃圾回收而被卸载的Java classes,垃圾回收会卸载并释放类元数据。
    当类元数据达到一定水平时,会引起垃圾回收。在垃圾回收后,可以根据类元数据释放的空间量来确定是升高high-water mark还是降低high-water mark。如果升高high-water mark可能会引起垃圾回收。high-water mark最初设置为MetaspaceSize选项的值。
    根据MaxMetaspaceFreeRatio 与MinMetaspaceFreeRatio两个选项决定high-water mark的提高还是降低。
    如果已经分配的类元数据空间占比大于MaxMetaspaceFreeRatio的值,则high-water mark将降低。
    如果已经分配的类元数据空间占比小于MinMetaspaceFreeRatio的值,high-water mark将提升。
     
    可以为MetaspaceSize 选择指定更高的值,以避免对类元数据的过早垃圾回收。
    为应用程序分配多少类元数据空间取决于应用程序,没有一个通用标准。
     
    Heap PSYoungGen total 10752K, used 4419K [0xffffffff6ac00000, 0xffffffff6b800000, 0xffffffff6b800000) eden space 9216K, 47% used [0xffffffff6ac00000,0xffffffff6b050d68,0xffffffff6b500000) from space 1536K, 0% used [0xffffffff6b680000,0xffffffff6b680000,0xffffffff6b800000) to space 1536K, 0% used [0xffffffff6b500000,0xffffffff6b500000,0xffffffff6b680000) ParOldGen total 20480K, used 20011K [0xffffffff69800000, 0xffffffff6ac00000, 0xffffffff6ac00000) object space 20480K, 97% used [0xffffffff69800000,0xffffffff6ab8add8,0xffffffff6ac00000) Metaspace used 2425K, capacity 4498K, committed 4864K, reserved 1056768K class space used 262K, capacity 386K, committed 512K, reserved 1048576K
     
    used为加载类使用的空间
    capacity为可当前分片中可用的元数据空间
    committed为可用的分片数量
    reserved为元数据保留的空间数量
     
     
     
     
     
     
     
    收藏文章数量从多到少与“把书读薄”是一个道理
  • 相关阅读:
    PAT乙级1038
    PAT乙级1033
    PAT乙级1032
    memset初始化数组的坑
    C/C++小课之数组名是什么
    PAT乙级1031
    Alpha阶段 第一次Scrum Meeting
    技术规格说明书
    功能规格说明书
    团队项目选择
  • 原文地址:https://www.cnblogs.com/use-D/p/9574776.html
Copyright © 2011-2022 走看看