OSGI之类加载架构

一、类加载架构分为3类:
1、父类加载器:java平台提供,如启动类加载器BootstrapClassLoader、扩展类加载器Extension ClassLoader和应用程序类加载器Application ClassLoader;
2、Bundle类加载器:每个bundle都有自己的类加载器,加载本bundle中工单类和资源。请求另一个bundle导出的package中的类时,由导出package的bundle负责加载。
3、其他加载器
二、父类加载器:
osgi框架可通过设置org.osgi.framework.bootdelegation指定一些pakcage委派给父类加载器加载。
三、bundle类加载器:
bundle-classpath描述了bundle加载器应去何处查找类。默认值为".",如果bundle存在其他jar文件,加载器只能把它当做普通文件处理。通过使用bundle-classpath可解决。
一般可理解为Import-Package和Require-Bundle的优先级高于Bundle-Classpath,可在前者查找到的类,后者就不起作用。
对于Bundle中发生的加载,当前Bundle的Bundle类加载器是使用到的类的初始类加载器(触发加载某个类),而哪个类是定义类加载器(真正加载某个类)则要根据osgi类加载顺序判定。
由不同定义类加载器加载形成的类在java虚拟机中是完全独立不可互相转型的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值