两种单例模式总结--(饿汉式、懒汉式)(java代码)两种单例模式总结–(饿汉式、懒汉式)
⼀、饿汉式单例模式
代码实现:
public class Singleton{
private static final Singleton singleton =new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return singleton;
}
}
⼆、懒汉式单例模式
代码实现:
public class Singleton {
private static Singleton singleton;
private Singleton(){}
public static Singleton getInstance(){
if(singleton ==null){
// 线程A和线程B同时看到singleton = null,如果不为null,则直接返回singleton
synchronized(Singleton.class){
// 线程A或线程B获得该锁进⾏初始化
if(singleton ==null){
// 其中⼀个线程进⼊该分⽀,另外⼀个线程则不会进⼊该分⽀
singleton =new Singleton();
}
}
}
单例模式的几种实现方式return singleton;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。