写一个Singleton示例
什么是单例模式?
Singleton:在Java中即指单例设计模式,它是软件开发中最常用的设计模式之一。
单:唯一
例:实例
单例设计模式,即某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。
饿汉式:直接创建对象,不存在线程安全问题
•直接实例化饿汉式(简洁直观)
•枚举式(最简洁)
•静态代码块饿汉式(适合复杂实例化)
懒汉式:延迟创建对象
•线程不安全(适用于单线程)
•线程安全(适用于多线程)
•静态内部类形式(适用于多线程)
/**
* @Classname Singleton1
* @Description 单例模式-饿汉式
* @Date 2020/10/9 8:35
* @Author ZhangTZ
* @Version 1.0
*/
public class Singleton1 {
private static final Singleton1 SINGLETON_1=new Singleton1();
private Singleton1(){
}
public static Singleton1 getInstance(){
return SINGLETON_1;
}
}
/**
* @Classname Singleton2
* @Description 单例模式-懒汉式
* @Date 2020/10/9 8:37
* @Author ZhangTZ
* @Version 1.0
*/
public class Singleton2 {
private static Singleton2 singleton2;
private Singleton2() {
}
public static Singleton2 getInstance() {
if (singleton2 == null) {
synchronized (Singleton2.class) {
if (singleton2 == null) {
singleton2 = new Singleton2();
}
}
}
return singleton2;
}
}