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

  • 相关阅读:
    Java中的软(弱)引用
    国庆节前夕的夜晚
    Internet连接共享只能上qq不能打开网页的问题解决
    Android多线程研究(9)——读写锁
    JavaScript开发——文件夹的上传和下载
    JS开发——文件夹的上传和下载
    B/S开发——文件夹的上传和下载
    php web开发——文件夹的上传和下载
    asp.net web开发——文件夹的上传和下载
    Java web开发——文件夹的上传和下载
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/11236548.html
Copyright © 2020-2023  润新知