一个类在编译完成后,下一步要使用这个类,使用一个类离不开JVM。在程序执行中JVM通过装载,链接,初始化3铬步骤完成。类的装载就是通过类加载器把.class二进制文件装入JVM的方法区,并在堆区创建描述该类的java.lang.Class对象,用来封装数据。一个类只会被JVM加载一次。
链接就是把二进制数据组装成可以运行的状态。链接分为校验,准备,解析三个步骤。校验来确认二进制文件师傅适合当前的JVM版本;准备是为静态成员分配内存空间,并设置默认值;解析是指转换常量池的代码引用为直接引用的过程。直到所有的符号引用都可被程序使用。完成后,类型即可初始化。初始化后类的对象就可以正常的使用,直到一个对象不再使用之后,被垃圾回收,释放空间。当没有任何引用指向Class对象时将会被卸载,结束类的生命周期。
总共五个步骤:
装载,链接,初始化,运行,卸载。