java----类得加载过程

来源:互联网 发布:网络水军兼职 编辑:程序博客网 时间:2024/06/15 21:32

类得加载过程分为:加载—>验证—> 准备—> 解析—> 初始化—>使用—>卸载过程,这里只讲前五步。

以Person p=new Person()为例说明


这里写图片描述


1、jdk将.java文件编译成.class文件,jvm将.class文件加载到内存中(方法区内存)
2、类变量默认初始化,0操作,比如 static int a=1;则a=0;注意 如果是 static final int a =1;那么 a=1;因为 final修饰的变量 默认初始化就会指定变量的值。放入常量池 (此时都在方法区内执行)
3、初始化操作,在堆内存中开辟空间,执行类构造器()方法的过程,对静态变量显示赋值操作,顺序由代码的顺序决定
4、对象变量(非静态变量,非静态代码块)的显示赋值操作。
5、初始化构造函数,构造函数在进入栈中执行,在堆中生成person对象。构造方法弹出栈。
6、在堆中将对象的物理内存地址赋值给变量p。
7、p通过地址找对对象实体,与之关联。

原创粉丝点击