JVM5、方法区

5、方法区

5.1 栈、堆、方法区的交互关系

在这里插入图片描述

5.2 方法区的理解

是一种虚拟机规范,而元空间是HotSpotJVM对方法区的一种实现;HotSpotJVM中把方法区看作是非堆目的是要和堆分开,所以将方法区看作是一块独立于Java堆的内存空间;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.3 方法区的内部结构

在这里插入图片描述
类型信息
对每个加载的类型(类class,接口interface,枚举enum,注解annotation)。JVM在方法区存储以下信息:

  1. 这个类型的完整有效类名
  2. 这个类型直接父类完整有效名(interface和Object都没有父类)
  3. 这个类型的修饰符
  4. 这个类型的直接接口的一个有序列表

域信息
方法信息

  • 方法名称
  • 返回类型
  • 参数的数量和类型
  • 修饰符
  • 字节码、操作数栈、局部变量表及大小
  • 异常表(异常处理的开始位置、结束位置、代码处理在PC的偏移地址、异常类的常量池索引)

non-final的类变量

  • 静态变量和类关联在一起,随着类的加载而加载,成为类数据在逻辑上的一部分。
  • 类变量被类的所有实例共享。

注:全局变量在编译的时候就会被分配了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 方法区的垃圾回收

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.8 总结

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值