SSH 第二章 类加载器

1.理解什么是类加载机制
类加载机制:通过将硬盘中的.class文件加载到java内存中
并且形成其对应的Class类对象

通过java -verbose:class 类名
可以窥测类java加载机制的加载过程
加载的原则:需要使用时才加载

2.掌握如何动态加载类
java提供两种方式动态加载类
2.1隐式方式加载
通过new关键字来创建类的实例时加载

2.2显式方式加载
2.2.1 通过Class.forName()加载
1.Class.forName(String className);
2.Class.forName(String className,boolean initialize,ClassLoader loader);
参数说明:
className 需要加载类的全称
initialize 是否初始化类的静态代码
loader 加载该类的类加载器

第二个参数initialize,当设计为false的时候只将
该类的.class文件加载到内存当中,但不会初始化
该类的静态代码块。反之则初始化!
Class.forName(String className)等价于
Class.forName(String className,true,classloader);

2.2.2 通过ClassLoader.loadClass()方法
不会对类中的静态代码块初始化

3.理解类加载器
3.1 三个系统预定义的类加载器(重点掌握)
bootstrap(它不是类 C语言程序) 启动的类加载器
extclassloader 标准的扩展类加载器
appclassloader 系统(应用程序)的类加载器
3.2 三个加载的加载位置
jre java runtime enviroment java运行时环境
bootstrap 加载jdk的核心class文件 jre\lib or jre\lib\classes 文件夹下的class文件
extclassloader jre\ext\文件夹下的所有class文件
appclassloader 加载classpath下面的所有class文件
3.3 之间的关系
父子关系
3.4 类加载器的模型
双亲委托模型
当类加载器去加载一个类的时候,
先使用其父类的类加载器加载如果不能加载才使用本身
的类加载器加载,否则直接父类加载。

3.5 自定义类加载器
创建方式extends ClassLoader
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值