一:饿汉模式
// 单例模式:饿汉式
public class Singleton {
private static Singleton singleton=new Singleton();//饿汉式(一开始就新建对象分配内存)
public Singleton(){
}
public static Singleton getInstance(){
return singleton;
}
@Override
public String toString() {
return "我是饿汉";
}
}
二:懒汉模式
package java;
//单例模式 懒汉(一般在配饰文件中使用,类似于懒加载)
public class LanHan {
private static LanHan lanHan=null; //初始化时不新建对象
public LanHan(){
}
public static synchronized LanHan getLanHan(){ //因为懒汉线程不安全所以加了双重同步锁
if (lanHan==null){
synchronized (LanHan.class){
if (lanHan==null)
lanHan=new LanHan();
}
}
return lanHan;
}
@Override
public String toString() {
return "我是懒汉";
}
}