方法区 (非堆) : 存放 Class 文件信息。如 : 类信息、字段信息、方法信息、常量、静态变量、代码缓存
- 元空间溢出的错误 :
java.lang.OutOfMemoryError: MetaSpace
方法区的关系 :
- JDK 8 : 元空间 (Metaspace) , 在本地内存中
- JDK7 : 永久代 (Perm Space) , 在堆中
刚启动时 , 就 Full GC , 但老年代充足 , 检查 Metaspace 区大小
运行时常量池
方法区的运行时常量池 : 存放类加载后的常量池表 (Constant Pool Table)
- 当常量池无法申请内存时 , 会抛出
OutOfMemoryError
错误
字符串常量池
字符串常量池 : 避免字符串的重复创建
JDK 1.7 后,将字符串常量池放在堆中
- 能及时回收字符串内存
方法区指向堆
方法区中元素指向堆中的对象 : private static Object obj=new Object();
文章来源:https://www.toymoban.com/news/detail-511525.html
文章来源地址https://www.toymoban.com/news/detail-511525.html
到了这里,关于JVM 方法区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!