Java 五种单例模式的实现
2018-02-28 00:00
274 查看
摘要: 后续完善
一: 懒汉式
二:饿汗式
三:双重校验锁
四:静态内部类
五:枚举单例模式
一: 懒汉式
/** * * 懒汉式单例模式 * * 特点: * 1.延迟加载 * 2.使用时初始化 * 3.线程不安全 * */ public class Singleton1 { private static Singleton1 instance; private Singleton1(){} public static Singleton1 getInstance(){ if (instance == null){ instance = new Singleton1(); } return instance; } }
二:饿汗式
/** * * 饿汉式单例模式 * * 特点: * 1.基于单ClassLoder机制,instance在类加载时进行初始化,避免了同步问题 * 2.优势在于实现简单,劣势在于不是懒加载模式 * 3.在需要实例之前就完成了初始化,在单例较多的情况下,会造成内存占用,加载速度慢问题 * * */ public class Singleton2 { private static final Singleton2 instance = new Singleton2(); private Singleton2(){} public static Singleton2 getInstance(){ return instance; } }
三:双重校验锁
/** * * 双重校验锁单例模式 * * 特点: * 1. * * */ public class Singleton3 { private static Singleton3 instance = null; private Singleton3(){} public static Singleton3 getInstance() { if (instance == null) { synchronized (Singleton3.class) { if (instance == null) { instance = new Singleton3(); } } } return instance; } }
四:静态内部类
/** * * 静态内部类单例模式 * * */ public class Singleton4 { public static Singleton4 instance = new Singleton4(); private Singleton4(){} public static Singleton4 newInstance(){ return Singleton4.instance; } }
五:枚举单例模式
/** * * 枚举单例模式 * 这种方式有待研究 * */ public enum Singleton5 { instance; public void whateverMethod(){} }
相关文章推荐
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- 五种方法实现Java的Singleton单例模式
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法及相互比较
- JAVA中单例模式实现的五种方式,有详细的比较
- 五种方法实现Java的Singleton单例模式
- Java中的五种单例模式实现方法
- JAVA设计模式-单例模式(Singleton)的五种实现方式
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法
- Java中的五种单例模式实现方法