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