单例模式:
感觉就是一个类只有一个实例,不管在一个项目还是在一个系统里面只有一个实例,任我们在new多少,还是那个实例.也就是说这个实例是共享资源,可以随时在任何地方使用都不会是新的一个实例.
在生活中的一些单例:
1,比如在整个地球里面,中国只有一个.
2,在整个银河系里面,太阳只有一个.
3,在Windows操作系统里面,回收站只有一个.
好处:
因为是只创建一个实例,所以减少了内存的消耗,这样就可以节省内存啦
如何实现设计模式:
单例模式又分为两种形式:
懒汉式:在这个实例第一次调用的时候再懒懒的去加载
//懒汉式
private static Simple simple;
private Simple(){}
public synchronized static Simple getSimple(){
if(simple==null){
simple = new Simple();
}
return simple;
}
饿汉式:生怕吃不到了,就在类运行的时候就加载了,先占个位置,管他用不用呢.
//饿汉式
private static Singleton singleton = new Singleton();
private Singleton(){}
public static Singleton getSingleton(){
return singleton;
}
怎么才能判断是用哪种形式了:
如果一开始就要用这个实例的话就用饿汉式,这样在使用这个实例的时候花的时间就很少了.用的机率比较少的话就选择使用懒汉式.