文章目录
引言
类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载
七个阶段。
其中类加载过程包括
加载、验证、准备、解析和初始化
五个阶段。静态域:存放静态属性、静态方法和静态块。
在介绍前,先来聊聊类的初始化顺序
I 类的初始化顺序
1.1 初始化顺序
- 初始化变量:
对于静态变量要首先进行初始化,因为后面的方法可能会使用这个变量,或者构造函数中也可能用到。
而对于非静态变量而言,由于匿名块内、非静态方法和构造函数都可以进行操作(不仅仅是初始化),所以要提前进行加载和赋默认值。
- 初始化静态代码块: 多个静态代码块按顺序加载
这里需要注意:这个顺序是类内书写的顺序,也是类加载的顺序。
- 匿名代码块,这个要后初始化于静态代码块,因为其依然