标签:style java 使用 文件 数据 ar line 不同的
当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三个步骤来对该类进行初始化。
类加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之创建一个java.lang.Class对象。
通过使用不同的类加载器,可以从不同来源加载类的二进制数据,通常有以下几种来源
从本地文件系统加载class文件
从JAR包加载class文件
用过网络加载class文件
把一个Java源文件动态编译,并执行加载
4、当类被夹在之后,系统会为之生成一个对应的class对象,接着进入连接阶段。连接负责把类的二进制数据合并到JRE中。
验证:检验被加载的类是否有正确的内部结构,并和其他类协调一致。
准备:为类的静态Field分配内存,并进行出初始化。
解析:将类的二进制数据中的符号引用替换成直接引用。
5、类的初始化
(1)、假设这个类还没有被加载和连接,则会加载并连接该类。
(2)、假如该类的直接父类还没有被初始化,则先初始化直接父类,所以JVM最先初始化的总是java.lang.Object类。
(3)、假如类中有初始化语句,则系统依次执行这些初始化语句。
、
标签:style java 使用 文件 数据 ar line 不同的
原文地址:http://my.oschina.net/u/1414017/blog/295069