写一个单例类,对于很多初学者 Java 的人来说算是基本功吧,看到很多的面试题都会有写一个单例类的题目。
相信单例类在后面的很多地方会用到(一个还未入职的 JAVA 学习者)
本人在一个 Java 学习视频中看到写单例类的四种方式,现在搬到这里来学习下
一、首先是一种简单的常规的方式,但是这种写法在多线程执行情况下可能产生多个实例
package singleton;
//简单方式:在并发过程中可能存在多个实例
public class SingletonDemo1 {
private static SingletonDemo1 INSTANCE;
private SingletonDemo1(){}
public static SingletonDemo1 getInstance(){
if(INSTANCE == null){
INSTANCE = new SingletonDemo1();
}
return INSTANCE;
}
}
package singleton;
//公共域方式:简单
public class SingletonDemo2 {
public static final SingletonDemo2 INSTANCE = new SingletonDemo2();
private SingletonDemo2(){}
}
三、第三种方法是利用了工厂模式,可以在其中的方法中加入自己的要求、