首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JDK 8内存布局和垃圾回收

JDK 8内存布局和垃圾回收
EN

Stack Overflow用户
提问于 2013-12-13 17:29:30
回答 2查看 35.7K关注 0票数 31

从我的know来看,从JDK8开始,PermGen将成为java历史上的过去。一切美好快乐..。但是新的内存布局会是什么样子呢?这会影响新平台上的GC吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-13 17:32:12

Oracle/Sun JDK8中的PermGen is replaced with Metaspace,这是非常相似的。主要区别在于Metaspace可以在运行时进行扩展。

票数 38
EN

Stack Overflow用户

发布于 2014-03-20 14:58:14

这是permGen在那里的时候

在引入Metaspace之后

毫无疑问,在Java8中GC有了很大的改进。

在Metaspace中,为元数据分配了多个映射的虚拟内存空间,并且根据类加载器的类型及其活跃度,为每个类加载器分配(以块为单位)。块被返回到空闲块列表中,并且在清空时还返回虚拟内存空间。

GC的优点是

  • 在完整收集期间,不扫描指向元数据指针的元数据
  • 许多用于元数据扫描的复杂代码(特别是对于内容管理)是removed.
  • Metaspace,其中几乎没有指向metadata
  • Reduces堆的指针。
  • 没有压缩metadata
  • Reduces根扫描的开销(不扫描已加载类和其他内部Java的VM字典
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20563047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档