文件)
在程序运行过程中,当要访问一个类时,若发现这个类尚未被加载,并满足类初始化的条件时,就根据要被初始化的这个类的全限定名找到该类的二进制字节流,开始加载过程
将这个字节流的静态存储结构转化为方法区的运行时数据结构...在内存中创建一个该类的java.lang.Class对象,作为方法区该类的各种数据的访问入口
程序在运行中所有对该类的访问都通过这个类对象,也就是这个Class对象是提供给外界访问该类的接口
1.2...,JVM会创建一个java.lang.Class类的对象,作为本类的外部访问接口.既然是对象就应该存放在Java堆中,不过JVM规范并没有给出限制,不同的虚拟机根据自己的需求存放这个对象.HotSpot...将Class对象存放在方法区....JVM将符号引用转化为直接引用的时候,这个转化动作发生在解析阶段,对类自身以外的信息进行匹配校验,确保解析能正常执行.
3 准备
准备阶段完成两件事情:
为已在方法区中的类的静态成员变量分配内存
为静态成员变量设置初始值