美文网首页
JVM永久区的简单理解

JVM永久区的简单理解

作者: zoterap | 来源:发表于2019-02-12 09:34 被阅读2次

方法区 & 永久区

方法区是jvm规范里要求的,永久区是Hotspot虚拟机对方法区的具体实现,前者是规范,后者是实现方式。jdk1.8作了改变。jdk1.8中永久代被彻底移除,取而代之的是另一块与堆不相连的本地内存-元空间

转载自知乎内容

转载连接

根据R大的评论,修改了一些错误。————————————————————————————————————————
如果那8G指的是-Xmx 8G,那么256M不在其中。但是永久代/方法区也属于GC Heap的一部分。
另外,方法区(method area)只是JVM规范中定义的一个概念,用于存储类信息、常量池、静态变量、JIT编译后的代码等数据,具体放在哪里,不同的实现可以放在不同的地方。而永久代是Hotspot虚拟机特有的概念,是方法区的一种实现,别的JVM都没有这个东西。
在Java 6中,方法区中包含的数据,除了JIT编译生成的代码存放在native memory的CodeCache区域,其他都存放在永久代;在Java 7中,Symbol的存储从PermGen移动到了native memory,并且把静态变量从instanceKlass末尾(位于PermGen内)移动到了java.lang.Class对象的末尾(位于普通Java heap内);在Java 8中,永久代被彻底移除,取而代之的是另一块与堆不相连的本地内存——元空间(Metaspace),‑XX:MaxPermSize 参数失去了意义,取而代之的是-XX:MaxMetaspaceSize。

相关文章

  • JVM永久区的简单理解

    方法区 & 永久区 方法区是jvm规范里要求的,永久区是Hotspot虚拟机对方法区的具体实现,前者是规范,后者是...

  • 【JVM】答疑

    方法区和永久代什么区别?方法区是 JVM 的规范,而永久代则是 JVM 规范的一种实现。只有 HotSpot 才有...

  • JVM-线程,内存 ,finalize

    目前jvm的后台线程有如下: JVM内存区域 永久代/方法区 被 JVM 加载的类信息、 常量、 静态变量、 即时...

  • JVM 内存介绍

    和jvm(Java Virtual Machine)相关的内存,一般分为栈区、堆区、方法区(永久区)等。 一、栈区...

  • 阿里常见面试题:JVM的内存模型有哪些?

    JVM的内存模型有: 堆、栈、永久区、寄存器,堆外内存 一、基本概念: JVM把内存区分为堆区(heap)...

  • JVM内容介绍

    简单的总结一下JVM的主要的框架结构 永久代是Hotspot虚拟机特有的概念,是方法区的一种实现,别的JVM都没有...

  • JVM

    1.8同1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。...

  • JVM快速入门

    请谈谈你对JVM的理解,JVAVA8虚拟机的更新。 以元空间的方式去实现了 方法区,而jdk 1.8之前是以永久代...

  • 转--分代回收算法的通俗理解

    jvm 分代回收算法通俗理解 jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space...

  • JVM常见面试题

    简单介绍下JVM运行时数据区 简单介绍下JVM常见异常 程序计数器 讲一讲方法区 JVM中对象的创建过程 对象的访...

网友评论

      本文标题:JVM永久区的简单理解

      本文链接:https://www.haomeiwen.com/subject/lgdheqtx.html