摘要: 单例模式分为非延迟加载(饿汉式)和延迟加载(懒汉式),延迟加载可以有效提高系统资源的利用效率,所以通常使用延迟加载来实现。 一、通过双重检查锁实现 对于延迟加载,如果在整个返回单例对象的方法上加同步锁(synchronized),系统开销较大,因此可以通过双重检查锁(DCL)来实现。 注意这里的vo 阅读全文
posted @ 2018-03-16 16:09 空の彼方 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 它在某些情况下比synchronize 阅读全文
posted @ 2018-03-16 11:10 空の彼方 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 阅读全文
posted @ 2018-03-16 10:37 空の彼方 阅读(154) 评论(0) 推荐(0) 编辑