JAVA 单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

特点:

1.单例模式里只能有一个实例

2.单例模式必须创建自己唯一的实例

3.单例模式必须给其他的对象提供这一实例

创建单例模式:

1.懒汉式单例

public class Singleton {  
    private Singleton() {}  
    private static Singleton single=null;  
    //静态工厂方法   
    public static Singleton getInstance() {  
         if (single == null) {    
             single = new Singleton();  
         }    
        return single;  
    }  
} 
View Code

懒汉式单例不具有线程安全 但是节省内存因为只有在调用 getInstance 的时候才会创建一个实例 这样在调用加载的时候就会慢一点

2.饿汉式单例

public class Singleton1 {  
    private Singleton1() {}  
    private static final Singleton1 single = new Singleton1();  
    //静态工厂方法   
    public static Singleton1 getInstance() {  
        return single;  
    }  
}
View Code

饿汉式单例在创建的时候就写好一个静态对象可以以后直接使用 加载的时候会快一点 但是因为不管有没有使用到这个实例都是创建好的了 所以会比饿汉式单例占用内存 && 饿汉式单例具有线程安全

 

(还有一个“登记式单例” 好像不是很常用 8 那就先不写了)

 

因为昨天被叫更改 spring 配置优化代码性能然后我 改的乱七八糟 被教育 spring 维护简单好操作 让我去康康自己手搓维护一个实例是有多麻烦 好的 get! 

 

posted @ 2019-07-24 10:48  丧心病狂工科女  阅读(176)  评论(0编辑  收藏  举报