有三种方式:
- 隐式加载:new
- 显示加载:loadClass, forName
类的装载过程分为三步:
- 加载:通过ClassLoader加载class文件字节码,生成class对象
- 链接:校验:检查加载的class的正 确性和安全性;准备:为类变量分配存储空间并设置类变量初试值;解析:JVM将常量池内的符号引用转为直接引用
- 执行类变量赋值和静态代码块
- Class.forName得到的class是已经完成初始化的
- Classloder.loadClass得到的class是还没有链接的,也就是只完成了第一步
网友评论