JVM--方法区(PermGen)

方法区(PermGen)

  • JDK1.8以前的HotSpot JVM有方法区,也叫永久代(permanent generation)。
  • 方法区用于存放已被虚拟机加载的类信息、常量、静态变量,即编译器编译后的代码。
  • 方法区是一片连续的堆空间,通过-XX:MaxPermSize来设定永久代最大可分配空间,当JVM加载的类信息容量超过了这个值,会报OOM:PermGen错误。
  • 永久代的GC是和老年代(old generation)捆绑在一起的,无论谁满了,都会触发永久代和老年代的垃圾收集。
  • JDK1.7开始了方法区的部分移除:符号引用(Symbols)移至native heap,字面量(interned strings)和静态变量(class statics)移至java heap。
    -在这里插入图片描述
    参考:https://www.jianshu.com/p/a6f19189ec62
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章