- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 【OSGi】OSGi依赖解析
OSGi框架执行的最重要的任务之一就是自动化管理依赖,也就是bundle依赖解析。OSGi框架的优势之一就是支持并行的多版本。如果导入bundle可以找到多个对应的导出bundle,OSGi如何确定使用哪个导出bundle呢?
2013-08-25 17:00:42 5022
原创 【Java线程】volatile的适用场景
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子性。这就是说线程能够自动发现 volatile 变量的最新值。Volatile 变量可用于提供线程安全,但是只能应用于非常有限的一组用例:多个变量之间或者某个变量的当前值与修改后值之间没有约束。因此,单独使用 volatile 还不足以实现计数器、互斥锁或任何具有与多个变量相关的不变式(Invariants)的类(例如 “start <=end”)。出于简易性或可伸缩性的考虑,您可能倾向于使用 volatile 变量而
2013-08-19 17:32:00 43655 26
原创 【OSGi】2. bundle与模块化
模块层是OSGi框架的最基础层次,是OSGi其他部分的基础。1、模块定义:一个从逻辑上封装实现类的集合,一个基于实现类子集的可选公共API,一个对外部代码依赖关系的集合。package是Java提供的一种内建的模块化方式,但它有一些限制:http://blog.csdn.net/vking_wang/article/details/9735395以上讨论的都是“
2013-08-18 18:31:57 8675
原创 【Java线程】锁机制:synchronized、Lock、Condition
Lock可以实现synchronized的相同功能,它能以更优雅的方式处理线程同步问题。与互斥锁定相比,读-写锁定允许对共享数据进行更高级别的并发访问。虽然一次只有一个线程(writer 线程)可以修改共享数据,但在许多情况下,任何数量的线程可以同时读取共享数据(reader 线程)Condition可以替代传统的线程间通信,用await()替换wait(),用signal()替换notify(),用signalAll()替换notifyAll()。Condition的强大之处在于它可以为多个线程间建
2013-08-14 17:15:55 103769 22
原创 【OSGi】OSGi框架的三个层次
网络上很多OSGi的文章上来就Activator实例,看得云里雾里。要想了解OSGi,首先要知道为什么要用OSGi?它有哪些好处?首先要明确:Java缺少对高级模块化的支持。OSGi服务平台是专门针对Java对模块化支持不足的情况,由OSGi联盟定义的一个行业标准,它引入了一个面向服务的编程模型,被称作“VM中的SOA”Java模块化的不足为什么说Java缺少对高级模块化的
2013-08-04 12:26:48 15628 2
commons-modeler-2.0.1.jar + commons-logging-1.1.2-bin.zip
2013-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人