2

静态变量存储在哪里?正如我在 java 7 中所知道的那样,它是 PermGen。但是 java 8 迁移到了 MetaSpace。那么它们是存储在 MetaSpace 中还是存在其他位置?

4

1 回答 1

5

静态方法和变量在 java.util.8 版本之前已经存储在 permgen 空间中。但是,现在他们引入了一个名为 METASPACE 的新内存空间,现在这是存储类的所有名称和字段、带有方法字节码的类的方法、常量池、JIT 优化等的地方。在 java 8.0 中删除 PERMGEN 的原因是很难预测所需的 PERMGEN 大小。它有助于提高垃圾收集性能和类数据去分配。

参考:https ://www.quora.com/Where-static-method-and-variables-stored-in-JVM

于 2018-03-06T17:57:43.903 回答