在java中设计模式有21种,单例设计模式只是其中的一种。
而SpringBoot中常用的的设计模式为门面模式,代理模式,单例模式。所以讲讲单例模式还是很有必要的。
以下就是单例设计模式的代码:
class designsingle{
public static void main(String[] args){
MySingle my= MySingle.getmy();
MySingle my2=MySingle.getmy();
system.out.println(my==my2)
//my与my2相等吗
//实际上他们是相等的,是同一个对象。why
}
}
//饿汉式(先把对象准备好,要用的时候直接拿走)
class MySingle{
private MySingle(){}
static private Mysingle my=new MySingle();
static public MySingle getmy(){
return my;
}
}
//懒汉式主要体现了延迟加载与多线程的思想,为了保证线程的安全性所以在静态方法上加了synchronized同步锁。
class MySingle2{
private MySingle2(){}
static private MySingle2 my;
synchronized static public MySingle2 getmy(){
if(my==null){
my=new MySingle2();
}
return my;
}
}