【说站】java类加载的过程
2025-01-08
8
java类加载的过程
说明
当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过以下三个步骤对该类进行初始化。
类加载步骤
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学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:17小时前赞一波!
相关文章
- 【说站】java反射如何调用指定的属性
- 【说站】java RMI的工作过程
- 【说站】java反射机制提供哪些功能
- 【说站】java class实例代表哪些结构
- 【说站】java获取class实例的4种方式
- 【说站】java动态代理的原理
- 【说站】eclipse导入java项目
- 【说站】java中BigDecimal的数学运算
- 【说站】java中BigDecimal有哪些用法
- 【说站】BigDecimal值在java比较的两种方法
- 【说站】python快速排序的运作过程
- 【说站】java SimpleDateFormat如何转换局部变量
- 【说站】java反射调用指定的属性
- 【说站】java数组引用如何实现
- 【说站】java中Stream的使用流程及注意
- 【说站】java获取class实例的方式
- 【说站】java中Stream的四种创建
- 【说站】java中反射提供哪些功能
- 【说站】java中Lamdba表达式的用法整理
- 【说站】java如何自定义函数式接口
文章评论
评论问答