摘要: 最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy) 当一个线程请求其它的线程已经占有的锁时,请求线程将被阻塞。然而内部锁是可重进入的,因此线程在试图获得它自己占用的锁是,请求会成功。重进入意味着请求是基于“每一个线程”,而不是基于“每一次调用”(互斥 阅读全文
posted @ 2016-09-21 16:47 Evil_XJZ 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。 懒汉式,线程不安全 当被问到 阅读全文
posted @ 2016-09-21 15:46 Evil_XJZ 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 1、首先为何要指令重排序(instruction reordering)? 编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。 也就是说,对于下面两条语句: int a = 10; int b = 20; 在计算机执行上面两句话的时候,有可能第二条语句会先于第一条语句执行。 阅读全文
posted @ 2016-09-21 15:38 Evil_XJZ 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性。 比如类的字段(属性),局部的,全局的。所谓域,其实是“field”的翻译 然后实例域,就是 实例("object" )的"field"。包括实例域和静态域,静态域又叫类域。 java中对象中的数据称为实例 阅读全文
posted @ 2016-09-21 14:58 Evil_XJZ 阅读(454) 评论(0) 推荐(0) 编辑