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