一个基于Java语言的动态模块化规范 每个模块(称为Bundle)与普通Java类库区别不大,一个Bundle可以声明它所依赖的Package,也可以声明它允许导出发布的Package Bundle之间的依赖关系从传统的上层模块依赖底层模块转变为平级模块之间的依赖,而且类库的可见性可以得到非常精确的控制,一个模块里只有被Export过的Package才可能被外界访问 OSGi可能实现模块级别的热插拔功能 OSGi的Bundle类加载器之间只有规则,没有固定的委派关系 !