自己做下笔记:
//单例模式:他的应用场景—如果多个程序要操作一个对象中的数据,那么就要保证只有一个对象。
//饿汉式
publicclassSingle {
privatestaticfinal Single s = new Single();
private Single(){}
publicstatic Single getInstance(){
returns;
}
}
//懒汉模式
publicclassSingle {
privatestatic final Single s = null;
private Single(){}
publicstatic Single getInstance(){
if(s==null){
s= new Single();
}
returns;
}
}
双重锁:
public
static
class
Singleton{
private
static
Singleton instance=
null
;
private
Singleton(){
//do something
}
public
static
Singleton getInstance(){
if
(instance==
null
){
synchronized(Singleton.
class
){
if
(
null
==instance){
instance=
new
Singleton();
}
}
}
return
instance;
}
}
//这个模式将同步内容下方到if内部,提高了执行的效率,不必每次获取对象时都进行同步,只有第一次才同步,创建了以后就没必要了。