OSGi笔记(2)

最近很忙,虽然也不知道忙些啥,但总也抽不出时间来看OSGi,但看过的总还要总结总结才有收获啊。

最近主要是大致了解了OSGi的动态和安全。

所谓动态,说白了就是所有的更改都是在保证JVM不重起的情况下进行的。这其中涉及到对应用程序和组件的生命周期管理,先说说管理的对象吧。大而言之就是应用程序和组件,具体到OSGi的概念体系中,称为bundle,bundle从物理上来讲,就是java语言里的jar包,它完全和普通的zip文件兼容。

具体而言对bundle生命周期的处理包括了如下几种:
  1. 安装bundleBundle必须是那些准备好的,不同的安装在OSGi框架中的组件,以便可以被执行。
  2. 起停bundle。安装在OSGi框架中的bundle可以被启动和停止。启动一个bundle可以获取特定的资源,停止bundle则清理特定的资源。在一个OSGi服务平台中,所有的应用都在同一个JVM里运行,因此也共享存储内存,资源和CPU周期。<o:p></o:p>
  3. 更新bundleOSGi框架先停止已经存在的应用程序,在这之后,资源被清理了。代码被卸载,并被新的代码所代替。代码更新后,重起bundle,这些都不需要重起JVM<o:p></o:p>
  4. 卸载bundle。在bundle生命结束之时,从系统里删除掉代码和相应的资源。<o:p></o:p>

OSGi提供了一个比普通java程序更安全的系统。
一般的java程序有三层安全防御措施:
  1. JVM自己的安全机制
  2. java语言的安全特性
  3. 基于安全的java2代码,这个就是指java代码的package路径访问(这条可选)
OSGi框架则在这三条的基础之上,又多了一层安全防御措施:
         OSGi框架将各个bundle严格的分离开来,在OSGi服务平台上,bundle需要允许还能与其他的bundle取得联系。

而OSGi实现动态安全的关键就是classloader的管理,java由于对代码进行了package路径的管理,使得代码更好维护了。OSGi则从更基本的classloader入手,利用classloader实现动态和安全的目的,并有效的对classloader进行了组织和管理。

下一步的重点就是了解OSGi中的classloader是怎样的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值