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/

  • 相关阅读:
    用python比对csv文件中的数据
    markdown图床
    java里一些类所属的包
    edge浏览器中http网站url不显示http只显示不安全
    刮卡一样处理自己的图片
    rss之光——irreader
    lombok的Data注解没有使setter起作用
    某端口被占用的解决方法
    如何避免公司加班的神坑
    面试题8:旋转数组的最小数字
  • 原文地址:https://www.cnblogs.com/lxh520/p/8099230.html
Copyright © 2011-2022 走看看