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 }
本文详细介绍了两种常见的单例模式实现方式:饿汉式和懒汉式。饿汉式单例类在类初始化时即完成实例化;懒汉式单例类则在首次调用时进行实例化,并通过synchronized关键字确保线程安全。

1288

被折叠的 条评论
为什么被折叠?



