- 博客(6)
- 资源 (17)
- 收藏
- 关注
转载 java.util.concurrent包介绍(4)——volatile语义
到目前为止,我们多次提到volatile,但是却仍然没有理解volatile的语义。 volatile相当于synchronized的弱实现,也就是说volatile实现了类似synchronized的语义,却又没有锁机制。它确保对volatile字段的更新以可预见的方式告知其他的线程。 volatile包含以下语义: (1)Java 存储模型不会对valatile指令的操作进行重排序:这个
2015-01-28 17:04:13 477
转载 java.util.concurrent包介绍(3)——Happens-before法则
Java存储模型有一个happens-before原则,就是如果动作B要看到动作A的执行结果(无论A/B是否在同一个线程里面执行),那么A/B就需要满足happens-before关系。 在介绍happens-before法则之前介绍一个概念:JMM动作(Java Memeory Model Action),Java存储模型动作。一个动作(Action)包括:变量的读写、监视器加锁和释放锁、线程
2015-01-28 16:56:25 594
转载 java.util.concurrent包介绍(2)——Java线程安全
在Java Concurrency in Practice中是这样定义线程安全的: 当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调度和交替运行,并且不需要额外的同步及在调用方代码不必做其他的协调,这个类的行为仍然是正确的,那么这个类就是线程安全的。 显然只有资源竞争时才会导致线程不安全,因此无状态对象永远是线程安全的。 原子操作的描述是: 多个线程执行一个操作时,其中
2015-01-28 16:51:41 569
原创 SQL 避免重复插入
语法:INSERT INTO SELECT 具体值 WHERE NOT EXIST(查询语句) 例如: INSERT INTO `alarm_input_type` SELECT '10100', '穿越警戒面', '2011-12-05 19:30:02', null, null, null, null FROM DUAL WHERE not exists (select * fro
2015-01-14 11:23:05 1176
转载 转小说
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631055c0666e15c63e6d8ec7150895ce12d4735b36163bbca67b755545ce94207a0ba84341e8f2347830093db49dce8c48d7bb852858c97d722f4292044f934fa0dc3724d656964d
2015-01-13 18:04:30 572
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人