Java单例设计模式
单例设计模式:保证一个类仅有一个示例,并提供一个访问它的全局访问点。
1、构造方法私有化
2、声明一个本地对象
3、给外部提供一个实例方法获取对象实例
两种实现方式:
1、饿汉式:在类被加载后,对象被创捷,程序结束后被释放
2、懒汉式:在第一次调用 getInstance 方法时,对象被创建,程序结束后释放
在项目中为什么要使用单例模式,单例模式有什么好处?
目的是为了尽可能减少频繁创建对象带来的内存消耗,提高效率。
工具类会频繁被调用,在设计工具类(工具类只有功能方法,没有属性)的时候,常使用单例模式。
//饿汉式,占用内存时间长,效率高 public class Singleton{ private Singleon(){ } private static Singleton s = new Singleton(); public Singleton getInstance(){ return s; }
public static void main(String args[]){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance(); // s1==s2 ,单例模式只能获取一个实例对象
} }
//懒汉式,占用内存时间短,效率低(懒加载,延迟加载)
//在多线程访问时,存在安全问题
public class Singleton{ private Singleton(){ } private static Singleton s; public Singleton getInstance(){ if(s==null){ s = new Singleton(); } return s; } }
本文来自博客园,作者:藤原豆腐渣渣,转载请注明原文链接:https://www.cnblogs.com/javafufeng/p/16249378.html