类加载机制
- class文件加载到内存
- 数据校验,解析,初始化
- 可被jvm直接使用的java类型
类加载方式:
- 隐式。程序运行过程中碰到new等方式生成对象,隐式调用类加载器加载对应的类到jvm
- 显示。利用反射,class.forname显示加载
类加载器类型:
- bootstrap加载器:java核心类库,无法被java程序直接引用。加载Java_HOME/lib/或者-Xbootclasspath 参数所指定
- extensions加载器:java扩展类。加载\lib\ext目录或Java. ext. dirs系统变量指定的路径
- system加载器:classpath。一般地,java应用类通过ClassLoader.getSystemClassLoader()加载
- 用户自定义加载器:继承classloader
类加载执行过程:
- 加载:导入class文件
- 验证:class文件的正确性
- 准备:静态变量分配内存空间
- 解析:常量池的符号引用替换直接引用,指向内存地址
- 初始化:初始化静态变量和静态代码
posted @
2020-03-23 16:34
Ivy_Xu
阅读(
149)
评论()
编辑
收藏
举报