静态变量存储在哪里?正如我在java 7中所知道的那样是PermGen。但java 8迁移到MetaSpace。那么它们存储在MetaSpace中还是存在其他位置?
答案 0 :(得分:3)
在第8版java之前,静态方法和变量已存储在PERMGEN空间中。但是,现在他们已经引入了一个名为METASPACE的新内存空间,现在这里是存储类的所有名称和字段,类的方法,方法的字节码,常量池,JIT优化等的地方。 在java 8.0中删除PERMGEN的原因是 很难预测PERMGEN所需的尺寸.. 它有助于改善垃圾收集性能和类数据分配..
参考:https://www.quora.com/Where-static-method-and-variables-stored-in-JVM