题目
设计一个类,我们只能生成该类的一个实例。
不好的解法一:只适用于单线程环境
1 | public class Singleton1{ |
不好的解法二:虽然在多线程环境中能工作但效率不高
1 | public class Singleton2{ |
可行的解法:加同步锁前后两次判断实例是否已存在
1 | public class Singleton3{ |
强烈推荐的解法一:利用静态构造函数
1 | public class Singleton4{ |
强烈推荐的解法二:实现按需创建实例
1 | public class Singleton5{ |