单例模式算是一种很常用到的设计模式之一了,今天就来聊一聊在不同场景下如何去实现单例。
单例模式的概念就是:保证一个类只有一个实例,并提供一个访问它的全局访问点。
主要作用呢,就是保证在Java应用程序中,一个类Class只有一个实例存在。
单例模式一般分为 懒汉式 以及 饿汉式。
单例的几种写法:
1.懒汉式(立即加载方式)
public class Singleton {
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
}
}
这种写法比较简单,在类加载的时候就完成了实例化,避免了线程同步问题。
但是如果从始至终从未使用过这个实例,则会造成内存的浪费。
2.饿汉式(延迟加载方式)
public class Singleton {
private static Singleton uniqeInstance = null