常见单例模式
懒汉式
线程安全状态,去掉synchronized则线程不安全
class Singleton{
private static Singleton singleton
;
private Singleton(){}
public static synchronized Singleton
getInstance(){
if (singleton
==null
){
singleton
=new Singleton();
}
return singleton
;
}
饿汉式
public class Singleton {
private static Singleton instance
= new Singleton();
private Singleton
(){}
public static Singleton
getInstance() {
return instance
;
}
}
DCL
package com
.company
;
public class single {
public volatile static single INSTANSCE
;
private single(){}
public static single
getInstance(){
if (INSTANSCE
==null
){
synchronized (single
.class){
if (INSTANSCE
==null
){
INSTANSCE
= new single();
}
}
}
return INSTANSCE
;
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-16100.html