捡起java那些被忽视的东西-类及静态变量生命周期

 

分配空间:

      类变量是在准备阶段分配内存赋默认值

类初始化顺序:

  • 静态变量赋值、静态代码块初始化
  • 构造函数
  • 自定义构造函数

卸载:

   类静态变量与类生命周期相同,类卸载了,静态变量也就销毁了。

  • 该类所有的实例都已经被回收,也就是java堆中不存在该类的任何实例。
  • 加载该类的ClassLoader已经被回收。
  • 该类对应的java.lang.Class对象没有任何地方被引用,无法在任何地方通过反射访问该类的方法。

    如果以上三个条件全部满足,jvm就会在方法区垃圾回收的时候对类进行卸载,类的卸载过程其实就是在方法区中清空类信息,java类的整个生命周期就结束了。

参考文献:

https://www.cnblogs.com/hf-cherish/p/4970267.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章