Java 8 中静态变量存储在哪里



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

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

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

最新更新