摘要:
这两个语句都是为了实现:如果没有记录则插入,如果有记录则更新。有点需要注意,这两个语句都是Mysql特有的语句,不属于标准sql。它的实现类似于以下写法:select 1 from t where id=1;程序判断是否存在值if(存在){ update t set update_time = '2012' where id = 1}else{ insert into t(id, update_time) values(1,'2012')} 1)replace into实现上述逻辑:replace into t(id, update_time) values(1 阅读全文
摘要:
1)优势多线程读取并修改一个资源时,我们过去通常使用 synchronized同步锁,这个是有性能损失的,很多情况下:资源对象总是被大量并发读取,偶尔有一个线程进行修改,也就是说:以读为主,修改不是 很频繁,那么我们在JDK5.0中用ReentrantReadWriteLock就获得比synchronized更高并发性能,高并发性能是我使用 JDK5.0主要目的,而不是annotation和泛型等设计优点。ReentrantReadWriteLock被大量使用在缓存中,因为缓存中的对象总是被共享大量读操作,偶尔修改这个对象中的子对象,比如状态,我们可以使用ReentrantReadWriteL 阅读全文