【发布时间】:2018-08-14 16:20:23
【问题描述】:
静态变量存储在哪里?正如我在 java 7 中所知道的那样,它是 PermGen。但是 java 8 迁移到了 MetaSpace。那么它们是存储在 MetaSpace 中还是存在其他位置?
【问题讨论】:
标签: java java-8 static metaspace
静态变量存储在哪里?正如我在 java 7 中所知道的那样,它是 PermGen。但是 java 8 迁移到了 MetaSpace。那么它们是存储在 MetaSpace 中还是存在其他位置?
【问题讨论】:
标签: java java-8 static metaspace
在第8版java之前,静态方法和变量已经存储在PERMGEN空间中。但是,现在他们引入了一个名为 METASPACE 的新内存空间,现在这是存储类的所有名称和字段、带有方法字节码的类的方法、常量池、JIT 优化等的地方。 在 java 8.0 中删除 PERMGEN 的原因是 很难预测 PERMGEN 所需的大小。 它有助于提高垃圾收集性能和类数据去分配..
参考:https://www.quora.com/Where-static-method-and-variables-stored-in-JVM
【讨论】: