jvm方法区存储了什么东西?

时间:2021-04-16 19:35:31

总的来说:
类的方法代码常量静态变量方法名访问权限返回值等等都是在方法区的

常量池
jvm为每个已加载的类型都维护一个常量池。常量池就是这个类型用到的常量的一个有序集合,包括实际的常量(string,
integer, 和floating point常量)和对类型,域和方法的符号引用。池中的数据项象数组项一样,是通过索引访问的。
因为常量池存储了一个类型所使用到的所有类型,域和方法的符号引用,所以它在java程序的动态链接中起了核心的作用。

方法信息
jvm必须保存所有方法的以下信息,同样域信息一样包括声明顺序
方法名
方法的返回类型(或 void)
方法参数的数量和类型(有序的)
方法的修饰符(public, private, protected, static, final, synchronized, native, abstract的一个子集)

类变量,也称静态变量(
Class Variables
译者:就是类的静态变量,它只与类相关,所以称为类变量
)