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

    1 懒汉模式

    public class Singleton {

        private Singleton singleton = null;

        private Singleton() {

        }

        public Singleton getInstance() {

           if (singleton == null) {

                singleton = new Singleton();
           } else {

                return singleton;

            }

        }
    }

    问题在于不是线程安全的。要线程安全,在getInstance前面加上synchronized关键字即可,但是开销太大。

    2 饿汉模式

    public class Singleton {

        private Singleton singleton = new Singleton();

        private Singleton() {

        }

        public Singletion getSingleton() {

            return singleton;
        }

    }

    3 静态内部类

    public class Singleton {

        private static class SingletonHolder {

            private static Singleton instance = new Singleton();

        }

        public static Singleton getInstance() {

            return SingletonHolder.instance;
        }

    }

  • 相关阅读:
    grid 布局
    数组对象
    定义换页时表现
    判断一个对象是否为空
    内存管理 内存泄漏
    arguments对象
    String类型
    对象 实例
    iOS 之 UIWebView
    iOS 之 内嵌网页
  • 原文地址:https://www.cnblogs.com/hustdc/p/8894088.html
Copyright © 2011-2022 走看看