java类的加载机制


1、类的加载:
类加载是指将类的class文件(字节码文件)载入内存中,并为之创建一个java.lang.Class对象,我们称之为字节码对象。类都加载过程由类加载器(ClassLoader)完成,类加载器通常由JVM提供,我们称之为系统类加载器,我们也可以继承ClassLoader类来提供自定义类加载器。不同的类加载器可以实现加载本地字节码文件,jar包中的字节码,通过网络加载字节码等
2、类的连接:
当类被加载进内存之后,系统为之生成一个对象的Class对象,接着把类的二进制数据合并到JRE中
1)验证:检测被加载的类是否由正确的内部结构
2)准备:负责为类的static变量分配内存,并设置默认值
3)解析:把类的二进制数据中的符号引用替换为直接应用(可以看深入分析JVM)
3、类的初始化:
再次阶段,JVM负责对类进行初始化,主要就是对static变量进行初始化。初始化一个类包含一下几个步骤:
1)如果该类还未被加载和连接,则程序现加载并连接该类
2)如果该类的直接父类还未被初始化,则先初始化其父类。
3)如果类中由初始化语句(静态代码块),则系统依次执行这些初始化 语句。
-----------------------------------------------------------------
符号引用:是一个字符串,它给了被引用的内容的名字并且可能包含一些其他关于这个被引用项的信息,这些信息必须足以唯一的识别一个类,字段,方法。
这样,对于其他类的符号引用必须给出类的全名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值