说明
当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过以下三个步骤对该类进行初始化。
类加载步骤
1、加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的 java.lang.Class 对象,作为方法区中类数据的访问入口。
2、链接:将Java类的二进制代码合并到JVM的运行状态之中的过程。
3、执行类构造器 <clinit>() 方法的过程。
实例
public class ClassLoadingTest{ public static void main (String [] args){ System.out.println(test.m); } } class test{ static { m = 300; } static int m = 100; } //第一步:加载 //第二步:链接结束后m=0 //第三步:初始化结束后,m的值由<clinit>()方法执行决定 /* 这个test构造器<clinit>()方法由类变量的赋值和静态代码块中的语句按照顺序合并产生,类似于 <clinit>(){ m = 300; m = 100; } */
以上就是java类加载的过程,希望对大家有所帮助。更多Java学习指路:
本教程操作环境:windows7系统、java10版,DELL G3电脑。