◇ 定义类数组

SampleClass[] samples = new SampleClass[5];


  ◇ 引用类的常量

String sampleConstant = SampleClass.SampleConstant;


  ● 使用

  类的使用包括主动引用和被动引用。只有主动引用会实例化类对象。

  ● 卸载

  如果下面的所有情况都成立,类将会被卸载:

  1、类所有的实例都已经被回收。(即堆中不存在该类的任何实例)

  2、加载该类的ClassLoader被回收。

  3、该类对应的java.lang.Class对象没有任何地方被引用,无法在任何地方通过反射访问该类的方法。

  jvm在方法区垃圾回收的时候对类进行卸载,在方法区中清空类信息。

  至此,一个java类的生命周期结束。

  对象的生命周期

  java对象是在jvm的堆区创建的。在创建对象之前,可能会触发类的加载、连接和初始化。

  jvm在类初始化完成后,根据类的信息在堆区实例化类对象,初始化非静态变量和默认构造方法。

  由于java在堆上创建对象,因此编译器对对象的生命周期一无所知。Java提供了垃圾回收器机制,jvm会在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。