这是和创建型设计模式相关的试题..
单例模式
1. 单例模式的思想是什么?请写代码体现
答案
单例模式
1. 单例模式的思想及代码体现
思想 : 确保类在内存中只有一个对象
开发中 : 饿汉式(不会出问题,类加载的时候就创建不会线程安全)
虽然在没有使用对象的时候占用一点点系统资源
但是单例模式就是为频繁创建销毁的对象设计的,故而可以忽略
其次懒汉式由于线程安全问题需要同步,效率会下降
面试中 : 懒汉式(可能出现安全问题)
A : 懒加载思想(没有问题)
B : 线程安全问题(有问题)
在多线程环境,由于一个对象数据,多个线程判断对象存在
如果同时进入,会有部分线程拿到不同的对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class Self { private static Self self = new Self(); private Self(){} public static Self getSelf(){return self;} }
public class You { private static You you = null; private You(){} public synchronized static You getYou(){ if (you == null) you = new You(); return you; } }
|