我已经阅读了很多关于Java内存区域的文章,但是看起来它们都有些混乱。这主要是由于在Java8中引入了一个新的MetaSpace
区域而不是PermGen
。现在有一些问题:
- 在Java8+中,
heap
包括哪些区域? - 在Java8之前和Java8+中,
static
方法和变量存储在哪里? MetaSpace
除了类元数据信息外,还存储其他内容吗?- 内存区域的结构是否取决于
JVM
的实现?
感谢您的回答。
我已经阅读了很多关于Java内存区域的文章,但是看起来它们都有些混乱。这主要是由于在Java8中引入了一个新的MetaSpace
区域而不是PermGen
。现在有一些问题:
heap
包括哪些区域?static
方法和变量存储在哪里?MetaSpace
除了类元数据信息外,还存储其他内容吗?JVM
的实现?感谢您的回答。
So, in addition to class meta-data info, Metaspace also stores other related information that is needed by the Java Virtual Machine during runtime.
所有这些都可以被视为“类元数据”。