java 8中存储的静态变量在哪里?

时间:2018-03-06 17:53:44

标签: java static java-8 java-memory-model metaspace

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

1 个答案:

答案 0 :(得分:3)

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

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