概述
设计模式之单例模式
介绍几种常见的单例模式
1.饿汉式单例模式
/**
* @author ppeng
* @date 2020/9/5 21:32
* @description
* 饿汉式单例模式
*/
public class Singleton1 {
private static final Singleton1 instance = new Singleton1();
private Singleton1(){}
public Singleton1 getInstance(){
return instance;
}
}
2.懒汉式单例模式
/**
* @author ppeng
* @date 2020/9/5 21:35
* @description 懒汉式单例模式(双重检索)确保对象是单例
*/
public class Singleton2 {
private static Singleton2 instance = null;
private Singleton2(){}
public static Singleton2 getInstance(){
if(null == instance){
synchronized (Singleton2.class){
if(null == instance){
instance = new Singleton2();
}
}
}
return instance;
}
}
3.静态内部类(推荐)
/**
* @author ppeng
* @date 2020/9/5 21:47
* @description 静态内部类,实例化外部类,JVM保证了类的单例
*/
public class Singleton3 {
private Singleton3 (){}
private static class Singleton3Hold{
private static final Singleton3 instance = new Singleton3();
}
public static Singleton3 getInstance(){
return Singleton3Hold.instance;
}
}
4.枚举单例模式
/**
* @author ppeng
* @date 2020/9/5 15:47
* @description 枚举单例模式
*/
public enum EnumInstance {
INSTANCE;
public static EnumInstance getInstance(){
return INSTANCE;
}
}
最后
以上就是野性眼睛为你收集整理的Java设计模式之单例模式的全部内容,希望文章能够帮你解决Java设计模式之单例模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复