类的加载分三个过程,加载、链接、初始化,同时在链接也分为三步骤:验证、准备、解析。 以下图所示指针
指的就是加载本地的class文件code
**验证:**验证.class文件是否合法图片
**准备:**为static变量赋初始化默认值it
**解析:**用一段代码来解释class
Class A{ public void callB(){ b.bMethod(); }; } Class B{ public void bMethod(){ ...... }; }
在解析类的时候,b.bMethod()就是符号引用,最近会被替换成指成bMethod的指针Pointer就是直接引用变量
为变量赋正确的初始值,这一步与链接中的准备看似相同,实则不一样引用
例如public static int a = 10;im
a这个变量先在准备阶段赋默认值为0,而后在初始化阶段赋初始值为10。call
别的类型一样这种方式加载。static