单例模式
单例模式是一个最简单的一种设计模式,其实就是Object只有唯一的一个实例,就拿我们天天看到太阳一样,它是唯一的不管我们哪天看看到都是相同的那个太阳(Sun)。
下面我们一起来看看如何实现一个单例呢?
懒汉单例
public class SingletonSun{ private static SingletonSun sun=null;//staic 把sun作为一个类变量 public SingletonSun(){ } public static synchronized Singleton getInstance(){//加synchronized 可以保证获取单例的时候线程安全 if(sun==null){ sun=new SingletonSun(); } return sun; } }
恶汉单例
/** *恶汉单例一定是线程安全的 */ public class SingletonSun{ private static final SinglentonSun sun=new SinglentonSun(); public SinglentonSun(){}; public SinglentonSun getInstance(){ return sun; } }