- 浏览: 35604 次
- 性别:
- 来自: 南京
最新评论
-
vicky_lxw:
不错,理解的很到位
大型分布式系统的特征 -
xyfwjk:
很好,很不错,学习了
利用Java枚举实现策略模式 -
kjj:
楼上比较精辟
java实现文件夹下所有文件的拷贝 -
hyxw5890:
sniciq 写道
为什么不用nio,里面有管道操作!
我是 ...
java实现文件夹下所有文件的拷贝 -
sniciq:
为什么不用nio,里面有管道操作!
java实现文件夹下所有文件的拷贝
文章列表
ReentrantLock可以等同于synchronized使用、但是它比synchronized有更强的功能、可以提供更灵活的锁机制、同时减少死锁的发生概率。我们平时用用synchronized也就够了、但是要写好一个复杂的多线程系统、为了提供更灵活的同步机制、就需要用到ReentrantLock了。
ReentrantLock相比synchronized多了以下一些特性:
1、synchronized关键字只能支持单条件(condition)、比如10个线程都在等待synchronized块锁定的资源、如果一直锁定、则其他线程都得不到释放从而引起死锁;而同样的情况使用ReentrantL ...
以前在学操作系统时就接触过信号量(Semaphore['seməfɔ:])的概念,指的是多线程环境下保证一个或多个关键代码段不被并发调用。
举一个简单的例子可以帮助理解:比如车库的容量是有限的、同一时刻只能停100辆车、超过了100辆、其他的车辆就只能等待了。
在Jdk的java.util.concurrent包中已经实现了一个Semaphore类、我们可以直接拿来用、不需要再重复制造轮子了。
该类有如下一些特点:
1、Semaphore是带有Counting、相当于维护了一定数量的通行证、如上面举的例子里面的100辆车
2、该类的acquire方法是为了申请通行证的、该方法可能会Bloc ...
今天看到了一则新闻《干扰演讲学生道歉 温家宝希望剑桥让其继续学习》,对总理的宽大胸怀表示敬佩的同时不禁鄙视该学生的无知,你扔谁也不该扔一个跑过2000多个农村,连续多年和人民一起过年,地震发生后第一时间赶到现场的人。不过在看了有些网友具有中国特色的留言后却令人感到哭笑不得。下面摘录几篇:
引用这是怎么回事?人家也没说要开除那个学生啊~!
剑桥大学的党委书记严重失职啊
引用俺是个大老粗,不懂啥政治外交的,俺寻思着吧,他扔咱总理破谢,咱就应该打回去,俺觉着吧那大学生一点都不体面,不识大体!俺们乡长下来讲话的时候俺们那村都没一个那样的 !俺觉着吧,俺村人比那名牌大学的某些学生咱有觉悟,识大 ...
- 2009-02-08 02:11
- 浏览 1165
- 评论(0)
我们在使用Java的枚举时往往会结合Switch来进行判断以实现不同值的处理,但是我们知道多用switch不是一种很好的代码风格,不利用维护和适应变化,因为这不符合开-闭原则。为此一种方法是用策略模式来重构原有的枚举实现,但是很多时候确实需要用枚举的方法来实现,如一周的天数等等,这也是JDK5.0重新引入枚举的原因。Joshua Bloch在Effective Java(第二版)里提出了一种枚举策略模式 很好的解决了这个问题。
要说明问题最好的办法就是结合例子,比如我们要定义一年的12个月,往往会想到枚举,假设我们要定义一个返回某年某个月的天数的方法,我们知道一个月一般是30, ...
无聊写了一个实现文件-文件,文件夹-文件夹(包括源文件夹所有文件),文件-文件夹的拷贝的实用类.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
public class Util {
public static int buffer_size ...
SOA是一个对应于大型分布式系统的概念。要理解SOA,必须首先理解大型分布式系统的特性。
首先,大型系统必须面对“遗留资产”的问题。你不太可能一切从头开始设计的时候引入SOA的理念。你不得不面对大多数现在正在使用的系统今后仍将保留这一现实。这也意味着实施SOA并不等于从头开始设计一个新系统,而是改变现有系统的架构,解决旧平台的整合和向后兼容的问题。事实上,实现SOA是为了更好的维护大型系统。
从本质上来说,所有的大型系统都是混杂的。这些系统往往有不同的目的,实施时间,你会发现整个系统架构夹杂着不同的平台,编程语言,编程范式,甚至是中间件。在过去,已经有许多整合的手段试 ...