设计一个懒加载的单例模式,代码如下:- public class Single {
- /**
- * 类描述,根据具体需求而设计
- */
- private String name;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- /**
- * 私有化构造函数
- */
- private Single(){}
- /**
- * 创建一个本类引用,指向null
- */
- private static Single single = null;
- /**
- * 提供一个共有的静态方法使其他类能获取本类对象
- */
- public static Single getInstance() {
- //此处进行双重判断以及加锁,解决多线程懒汉式容易出错的问题
- if (single == null) {
- synchronized (Single.class) {
- if (single == null) {
- single = new Single();
- }
- }
- }
- return single;
- }
- }
复制代码
注意:开发中用饿汉式,而面试中多数要求实现的是懒汉式!
|