类加载过程
类的加载过程包括加载, 验证, 准备, 解析, 初始化五个阶段.
加载
加载过程实现三个事:
通过类的全限定名来获取定义此类的二进制字节流....元数据验证: 对字节码进行语义分析, 确保符合Java规范要求.
字节码验证: 对数据流和控制流分析, 确保程序语义是合法的, 符合逻辑的....初始化
初始化阶段执行类构造器()方法.
在准备阶段, 类变量已经赋过一次初始值了, 而在初始化阶段, 根据程序制定的去初始化类变量和其他资源....()有一下特点:
此方法由编译器自动收集类中所有类变量的赋值动作和静态语句块中的语句合并产生. 静态语句块只能访问到定义在它之前的类变量, 定义在它之后的只能赋值, 不能访问....此方法不需要显式调用父类构造器.
如果一个类中不包含类变量的赋值操作, 也不包含静态语句块, 那么编译器可以不为该类生成()方法.