加载是将class文件加载到
jvm内存,并为之创建一个大的Class,任何类被系统使用都会建立一个大Class对象。...2.为静态[变量]赋值,访问静态变量
3.调用静态方法
4.使用反射方法创建某个类或接口的反射方法java.lang.Class
5.初始化某子类...引用静态[常量]不会导致该类的初始化.
类的加载阶段
类的加载就是将class的二进制读取到内存中,然后将字节流静态存储结构转换为方法去中运行的数据结构,并在堆中生成该类的Class对象,作为入口....;
}
static int a = 10 在准备阶段不是10 ,而是初始化的值0,当然final static int b 则仍然是10,因为被final修饰的静态变量不会导致类的初始化
类初始化
类的初始化阶段所有的变量都会被赋予正确的值...Singleton() ,x = 1,y = 1 , 按顺序赋值 x = 0 ,y不变 y = 1;
类加载器
类加载器之间严格遵守父委托机制
Bootsrap 根加载器
主要负责核心类库的加载,例如