特点:
创建过程
/**
* 单例模式
* 饿汉式
* @author lzp
* @Date 2020年7月30日
*/
public class SingleTon {
//设置私有静态final,外部无法访问,且且类加载时就创建,并只创建一次
private static final SingleTon singleTon = new SingleTon();
private SingleTon() {
}
public static SingleTon getInstance() {
return singleTon;
}
}
特点:
创建过程
/**
* 单例模式
* 懒汉式
* @author lzp
* @Date 2020年7月30日
*/
public class SingleTon2 {
private static SingleTon2 singleTon = null;
private SingleTon2() {
}
// 同步方法
// public static synchronized SingleTon2 getInstance() {
// if(singleTon == null) {
// singleTon = new SingleTon2();
// }
// return singleTon;
// }
//同步代码块 代码量较多时更优化
public static SingleTon2 getInstance() {
if (singleTon == null) {
synchronized (SingleTon.class) {
if (singleTon == null) {
singleTon = new SingleTon2();
}
}
singleTon = new SingleTon2();
}
return singleTon;
}
}
特点:
创建过程:
/**
* 单例模式
* 静态内部类式
* @author lzp
* @Date 2020年7月30日
*/
public class SingleTon3 {
//私有化构造方法
private SingleTon3() {
}
//获取对象
public static SingleTon3 getInstance() {
return Holder.singleTon3;
}
//内部类
private static class Holder{
//对象只会创建一次
static SingleTon3 singleTon3 = new SingleTon3();
}
}
本文地址:https://blog.csdn.net/qq_42365534/article/details/107695804
如对本文有疑问, 点击进行留言回复!!
网友评论