Java虚拟机的加载机制

三级加载
A 启动类加载器(Bootstrap ClassLoader) 加载根目录下的包
B 扩展类加载器(Extension ClassLoader) 加载扩展包
C 应用程序类加载器(Application ClassLoader) 加载应用包
加载模式
双亲委派模型
当一个类加载器收到类加载任务,会先交给其父类加载器去完成,因此最终加载任务都会传递到顶层的启动类加载器,只有当父类加载器无法完成加载任务时,才会尝试执行加载任务。

其实看了很简单 为毛要了解这个加载机制蚂蚁目前还是不了解,猜测的一点是自定义加载器 所以大家可以深挖下自定义加载器

重新学了下:自定义加载器

自定义类加载器的作用:jvm自带的三个加载器只能加载指定路径下的类字节码。如果某个情况下,我们需要加载应用程序之外的类文件呢?比如本地D盘下的,或者去加载网络上的某个类文件,这种情况就可以使用自定义加载器了。
 蚂蚁过了一遍:重新小结下 自定义加载器的功能是可以人为的去进行控制加载类,jvm的三把刀只能系统配置,没法后面进行扩展,自定义加载器可以后面我想加载谁就加载谁,我的地盘我做主,个性化十足,jvm的加载器则主要是加载一些老早就定死的文件.
蚂蚁曾经遇到个项目,有点小变态 如果多个新功能可能要上传一些新的jar包,上传新的jar包你得加载类啊,java三把刀是一开始就加载完了,后面你还想加载总不至于重新发版吧,这个时候我觉得就可以用这个自定义的加载器,配置路径,然后启动加载功能,完美解决了添加jar包的加载问题

参考文件
http://www.importnew.com/25295.html(包含加载之前的一些jvm的一些动作)

参考文件(自定义加载器)
https://www.cnblogs.com/gdpuzxs/p/7044963.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值