java 单例模式 恶汉 懒汉 静态内部类 线程安全
2018-03-03 12:56
393 查看
java 单例模式 恶汉 懒汉 静态内部类 线程安全
/***
* @Description: 恶汉(每次都会实例化)
* @Author TT_YT
* @Date 2018年3月3日 上午11:31:00
*/
class EHan{
private EHan(){}
private static EHan eHan = new EHan();
public static EHan getInstacen(){
return eHan;
}
}
/**
*
* @Description: 懒汉(线程安全性能低)
* volatile 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
* @Author TT_YT
* @Date 2018年3月3日 上午11:31:00
*/
class LHan{
private volatile static LHan lHan;
private LHan(){}
public static LHan getInstacen(){
if(null == lHan){
synchronized(LHan.class){
if(null == lHan){
return new LHan();
}
}
}
return lHan;
}
}
/**
*
* @Description: 静态内部类(JVM保证在类加载的过程中static代码块在多线程或者单线程下都正确执行,
* 且仅执行一次。解决了延迟加载以及线程安全的问题。)
* @Author TT_YT
* @Date 2018年3月3日 上午11:31:00
*/
class InnerHan{
private InnerHan(){}
private static class Inner{
private static InnerHan innerHan=new InnerHan();
}
public static InnerHan getInstacen(){
return Inner.innerHan;
}
}
相关文章推荐
- JAVA单例设计模式简单实现(懒汉与恶汉),多例设计模式的简单实现
- Java中单例七种写法(懒汉、恶汉、静态内部类、双重检验锁、枚举)
- java设计模式之单列模式(懒汉,恶汉,double-check- lock)
- 关于java (懒汉)单例模式是否存在线程安全的问题
- 【Java】线程安全的单例模式----静态内部类
- [置顶] Java 多线程学习笔记(十一) 单例设计模式(延迟加载/懒汉模式)DCL解决线程安全问题
- Java练习题-编写一个线程安全的延迟加载单例模式(懒汉模式)
- Java练习题-编写一个线程安全的延迟加载单例模式(懒汉模式)
- JAVA单例(懒汉模式)线程安全
- Java——单例模式的static方法和非static方法是否是线程安全的?
- Java的单例模式是不是线程安全的?
- java 开发中经常问到得懒汉模式 (单利模式)
- java 静态内部类实现单例模式
- iOS开发单例模式(懒汉模式&恶汉模式)
- Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式
- 线程安全的懒汉模式单例模实现
- java 单例模式(饿汉模式与懒汉模式)
- Java中线程安全的单例模式
- 线程安全的Singleton模式的Java实现
- 单例模式静态内部类实现线程安全。