zoukankan      html  css  js  c++  java
  • 单例模式

    package singleModel;

    import sun.security.jca.GetInstance;

    public class SingleOne {

        //懒汉模式  非线程安全
        /*private  SingleOne(){};//私有化构造方法,不允许在外部初始化
        private static SingleOne singleOne = null;
        public static SingleOne getInstance(){
            if (singleOne == null) {
                singleOne = new SingleOne();
            }
            return singleOne;
        }*/
        
        //懒汉模式 加同步锁 双重检查锁定
    /*    private SingleOne(){};
        private static SingleOne singleOne = null;
        public SingleOne getInstance(){
            if (singleOne == null) {
                synchronized (SingleOne.class) {
                    if (singleOne == null) {
                        singleOne = new SingleOne();
                    }
                }
            }
            return singleOne;
        }*/
        
        //静态内部类
        private static class LazyHolder{
            private static final SingleOne instance = new SingleOne();
        }
        private SingleOne(){};
        public static final SingleOne getInstance(){
            return LazyHolder.instance;
        }

        //饿汉模式
        /*private SingleOne(){};
        private static final SingleOne singleOne = new SingleOne();//类再创建的时候会初始化一个对象
        public SingleOne getInstance(){
            return singleOne;
        }*/
        
        //区别:
        //懒汉:线程不安全  饿汉:线程安全
        //懒:方法调用的时候才会创建对象,第一次调用的时候,相应的速度回慢   饿:类创建的时候初始化一个对象,相应的会占用一定的内存,但是第一次调用时候会快
    }

     http://blog.csdn.net/jason0539/article/details/23297037/

  • 相关阅读:
    golang plugin插件的使用
    UE4 是如何渲染每一帧画面的
    虚幻4 Gbuffer
    学习一下虚幻4
    关于 Kapacitor 和 TickScript 的笔记
    SpringOne2020
    TICK Telegraf InfluxDB Chronograf Kapacitor 参考资料
    【转】高考英语常考短语100条
    「面试」拿到B站的意向书
    使用ABAP操作office Word文档
  • 原文地址:https://www.cnblogs.com/lxh520/p/8099230.html
Copyright © 2011-2022 走看看