单例模式有以下特点:
1、单实例类只能有一个实例
2、单实例类必须自己创建自己的唯一实例
3、单实例类必须给所有其他对象提供这一实例
这里主要记录两种:懒汉式单例、饿汉式单例
一、懒汉式
public class Singleton{ private Singleton(){} private static Singleton singleton =null; public static Singleton getSingleton(){ if(singleton==null){ singleton=new Singleton(); } return singleton; } }
二、恶汉式
public class Singleton( private Singleton(){} private static final Singleton single = new Singleton(); public static SgetSingleton getSingleton(){ return single; } )
恶汉式不存在线程安全问题,懒汉式存在线程不安全问题。