1、面试官发问,话题牵引
思路:
无论让你讲什么设计模式,统一引到单例设计模式。
套路:
设计模式要将就讲最难的和应用最广的。
单例模式最难!
单例模式简单?
考虑了序列化吗?考虑了反射吗?考虑了安全性吗?考虑了多线程和高并发吗?
2、单例模式概况
写法很多,用得比较多的主要就三种懒汉模式,饿汉模式,枚举单例
主要实现思路:
唯一空构造器私有化,静态方法返回唯一实例
3、懒汉单例
1、为了方便讲解,我先从懒汉单例讲起。
拿自己简历背面开始写懒汉单例代码。
public class Singleton {
private static Singleton stu=null;
private Singleton() {
}
public static Singleton getInstance() {
if(stu==null){
return new Singleton();
}
return stu;
}
}
简单讲讲方法为何static,对象声明为何static。
4、连环发问1:多线程如何实例唯一?
解决:
将静态方法改成静态同步方法
public class Singleton {
pri