JAVA 类的生命周期

来源:互联网 发布:摩天大楼电影知乎 编辑:程序博客网 时间:2024/06/06 19:21

    类的生命周期主要分为几个板块:装载,链接,初始化,对象生命周期,卸载。

    一旦java文件经过编译后,变成了二进制的class,类的生命周期就在JVM中开始了:

    1.装载:把.class文件装载到JVM中,创建一个该类的Class对象,来表示该类,封装类的属性;

    2.链接:在把.class文件装进来后,需要通过链接来把他装成可运行状态,分为三个步骤;

       a.检验:检查该二进制文件是否符合当前的JVM版本;

       b.准备:为类中的静态成员分配空间,自动设置默认值;

       c.解析:将常量池中的引用,由符号引用改变为直接引用,因此可以更直接快速的对类以及成员进行引用调用;

    3.初始化。这里指的是类的初始化,还未开始对象初始化,类的初始化可由一下几种情况引起:

       a.对象实例化或者调用类的静态成员;

       b.通过反射机制中的类初始化,如forName();

       c.子类的初始化也带动父类的初始化;

       d.main()函数的调用会所在类进行初始化。

    4.进入对象的生命周期:对象实例化、垃圾收集、对象终结。

    5.当对象生命周期结束,并且没有任何其他引用只想该类的Class对象的时候,该类就被卸载。

 

0 0