【问题标题】:Where are static variables stored in java 8? [duplicate]java 8中静态变量存储在哪里? [复制]
【发布时间】:2018-08-14 16:20:23
【问题描述】:

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

【问题讨论】:

    标签: java java-8 static metaspace


    【解决方案1】:

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

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

    【讨论】:

    • 静态初始化器怎么样?它们存储在 JVM 中的什么位置?
    猜你喜欢
    • 2015-11-03
    • 2011-12-12
    • 2012-01-13
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多