java 类 生命周期_Java中类的生命周期

Java虚拟机管理类和对象的生命周期;

(1)类的生命周期从类被加载,连接,初始化开始,到类被卸载结束;

(2)类处于生命周期时,它的二进制数据位于运行时方法区内,在堆区还有一个相应的描述类的Class类的对象;

(3)只有当类处于生命周期中时,Java程序才能够使用它。

1.Java虚拟机及程序的生命周期

(1)通过java命令运行一个Java程序时,启动一个Java虚拟机进程;(2)Java虚拟机进程从启动到终止的过程,称为Java虚拟机生命周期;(3)程序生命周期和Java虚拟机生命周期是一致的,因为Java虚拟机进程从创建起的任务就是执行Java程序。

2.类的加载,连接和初始化

a.Java程序要使用某个类时,Java虚拟机要确保这个类被加载,连接和运行,其中连接包括验证,准备和解析。

b.加载:查找并加载类的二进制数据;

c.连接

c.1 验证:确保加载类的正确性;

c.2 准备:为静态变量分配内存,并将其初始化为默认值;

c.3 解析:将类中的符号引用转换为直接引用。

d初始化:

给类的静态变量赋予正确的初始值

(1)加载(加载的最终目标是实现将编译后的class文件(class文件采用字节码,是JVM的机器语言)装入内存运行时数据区的方法区中,并在内存运行时数据区的堆区生成一个class对象,这个对象可以引用到方法区中的类定义)

1.1 加载需要完成:

1.1.1 将类的.class文件中的二进制数据读到内存中的运行时数据区的方法区;

1.1.2 在堆区创建一个http://www.doczj.com/doc/be81e504bed5b9f3f90f1c9a.htmlng.Class对象(对象都放在堆区),用于封装类在方法区内的数据结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值