请参考《深入java虚拟机第二版》。
java虚拟机通过装载、连接和初始化一个java类型,使该类型可以被正在运行的java程序所使用。
装载
把二进制形式的java类型读入java虚拟机中;
连接
把读入的二进制数据合并到虚拟机的运行时状态中去,分三个子步骤:验证、准备和解析。
验证
确保java类型数据格式正确并且适于java虚拟机使用;
准备
负责为该类型分配它所需的内存;
解析
把常量池中的符号引用转换为直接引用。
初始化
给类变量赋值。
如图:
请参考《深入java虚拟机第二版》。
java虚拟机通过装载、连接和初始化一个java类型,使该类型可以被正在运行的java程序所使用。
把二进制形式的java类型读入java虚拟机中;
把读入的二进制数据合并到虚拟机的运行时状态中去,分三个子步骤:验证、准备和解析。
确保java类型数据格式正确并且适于java虚拟机使用;
负责为该类型分配它所需的内存;
把常量池中的符号引用转换为直接引用。
给类变量赋值。
如图: