懒汉
public class singleton{
private static singleton sing=null;
private singleton(){}
public static synchronized singleton getInstance(){
if(sing==null){
sing = new singleton();
}
}
return sing;
}
饿汉
public class singleton{
private static singleton sing = new singleton();
private singleton(){}
public static singleton getInstance(){
return sing;
}
静态内部类方式
private class singleton{
private static class singletonHo {
private static final singleton sing = new singleton();
}
private singleton(){}
public static final singleton getInstance(){
return singletonHo.sing;
}
}
synchronized(class) 不同线程监视同一个class对象,相互等待
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载