• 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! 

  • 相关阅读:
    POJ 2752 Seek the Name, Seek the Fame
    POJ 2406 Power Strings
    KMP 算法总结
    SGU 275 To xor or not to xor
    hihocoder 1196 高斯消元.二
    hihoCoder 1195 高斯消元.一
    UvaLive 5026 Building Roads
    HDU 2196 computer
    Notions of Flow Networks and Flows
    C/C++代码中的笔误
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/11236548.html
Copyright © 2020-2023  润新知