* 单例模式Singleton
* 应用场合:有些对象只需要一个就足够了,如皇帝
* 作用: 保证整个应用程序中某个实例有且只有一个
* 区别: 饿汉模式的特点是加载类时比较慢,但运行是比较快-线程安全
懒汉模式的特点是加载类时比较快,但运行时比较慢-线程不安全
1.饿汉
1 //饿汉式单例类.在类初始化时,已经自行实例化 2 public class Singleton1 {
3 //私有的默认构造子 4 private Singleton1() {} 5 //已经自行实例化 6 private static final Singleton1 single = new Singleton1(); 7 //静态工厂方法 8 public static Singleton1 getInstance() { 9 return single; 10 } 11 }
2.懒汉
1 //懒汉式单例类.在第一次调用的时候实例化 2 public class Singleton2 { 3 //私有的默认构造子 4 private Singleton2() {} 5 //注意,这里没有final 6 private static Singleton2 single=null; 7 //静态工厂方法 8 public synchronized static Singleton2 getInstance() { 9 if (single == null) { 10 single = new Singleton2(); 11 } 12 return single; 13 } 14 }
时间: 2024-09-29 09:06:09