首页 > 代码库 > 类加载机制
类加载机制
当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三个步骤来对该类进行初始化。
类加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之创建一个java.lang.Class对象。
通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有以下几种来源
从本地文件系统加载class文件
从JAR包加载class文件
用过网络加载class文件
把一个Java源文件动态编译,并执行加载
4、当类被夹在之后,系统会为之生成一个对应的class对象,接着进入连接阶段。连接负责把类的二进制数据合并到JRE中。
验证:检验被加载的类是否有正确的内部结构,并和其他类协调一致。
准备:为类的静态Field分配内存,并进行出初始化。
解析:将类的二进制数据中的符号引用替换成直接引用。
5、类的初始化
(1)、假设这个类还没有被加载和连接,则会加载并连接该类。
(2)、假如该类的直接父类还没有被初始化,则先初始化直接父类,所以JVM最先初始化的总是java.lang.Object类。
(3)、假如类中有初始化语句,则系统依次执行这些初始化语句。
、
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。