- 博客(5)
- 收藏
- 关注
原创 深入Java多线程和并发编程之ReentrantLock
ReentrantLock可以等同于synchronized使用、但是它比synchronized有更强的功能、可以提供更灵活的锁机制、同时减少死锁的发生概率。我们平时用用synchronized也就够了、但是要写好一个复杂的多线程系统、为了提供更灵活的同步机制、就需要用到ReentrantLock了。 ReentrantLock相比synchronized多了以下一些特性: 1、sy...
2012-07-05 21:49:50
236
原创 深入Java多线程和并发编程之Semaphore
以前在学操作系统时就接触过信号量(Semaphore['seməfɔ:])的概念,指的是多线程环境下保证一个或多个关键代码段不被并发调用。 举一个简单的例子可以帮助理解:比如车库的容量是有限的、同一时刻只能停100辆车、超过了100辆、其他的车辆就只能等待了。 在Jdk的java.util.concurrent包中已经实现了一个Semaphore类、我们可以直接拿来用、不需要再重复制造...
2012-07-04 21:49:55
169
利用Java枚举实现策略模式
我们在使用Java的枚举时往往会结合Switch来进行判断以实现不同值的处理,但是我们知道多用switch不是一种很好的代码风格,不利用维护和适应变化,因为这不符合开-闭原则。为此一种方法是用策略模式来重构原有的枚举实现,但是很多时候确实需要用枚举的方法来实现,如一周的天数等等,这也是JDK5.0重新引入枚举的原因。Joshua Bloch在Effective Java(第二版)里提出了一...
2009-02-08 01:04:11
2134
1
java实现文件夹下所有文件的拷贝
无聊写了一个实现文件-文件,文件夹-文件夹(包括源文件夹所有文件),文件-文件夹的拷贝的实用类. [code="java"] import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io...
2009-01-25 01:02:35
393
大型分布式系统的特征
SOA是一个对应于大型分布式系统的概念。要理解SOA,必须首先理解大型分布式系统的特性。 首先,大型系统必须面对“遗留资产”的问题。你不太可能一切从头开始设计的时候引入SOA的理念。你不得不面对大多数现在正在使用的系统今后仍将保留这一现实。这也意味着实施SOA并不等于从头开始设计一个新系统,而是改变现有系统的架构,解决旧平台的整合和向后兼容的问题。事实上,实现SOA是为了更好的...
2009-01-03 15:24:50
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人