知识点总结

  1. Metaspace不再与“老年代”绑定,由元数据虚拟机单独管理,分配本地内存;这样有几个好处:
    • 在full gc时,元空间的数据不会被扫描到;
    • CMS中特定于Permgen的复杂代码可以移除;
  2. Metaspace可以动态增长,Permgen(永久代)在运行时不可变;
  3. 在元空间中,类和其元数据的生命周期和其对应的类加载器是相同的;每个类加载器一块虚拟内存,内部再分成不同的小块;
  4. 元空间虚拟机管理内存的数据结构是链表,分配方式是分组分配,目前的缺点是有碎片;
  5. 内存分布对比
    • 有Permgen时的Java内存分布
      Java 1.8中的Metaspace总结
      Permgen is there
    • Metaspace下的Java内存分布
      Java 1.8中的Metaspace总结
      Metaspace replace permgen

阅读材料

  1. jdk-8-memory-layout-and-garbage-collection
  2. Java永久代去哪了
  3. Java 8: From PermGen to Metaspace
  4. metaspace in java8


相关文章:

  • 2021-11-25
  • 2021-04-28
  • 2021-10-21
  • 2021-06-02
  • 2022-01-17
  • 2021-12-13
  • 2021-10-29
  • 2021-12-21
猜你喜欢
  • 2021-10-30
  • 2022-12-23
  • 2021-12-25
  • 2021-08-14
  • 2021-05-04
  • 2021-12-27
  • 2021-04-28
相关资源
相似解决方案