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