这是和创建型设计模式相关的试题..

单例模式

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;
}
}