zoukankan      html  css  js  c++  java
  • 设计模式学习笔记一:单例模式

    单例模式,全局保证指定对象只有一个实例。单例模式应该具备避免外部调用多次实例化的特性,并且要在并发环境下数据准确防止”幻读“。

    单例模式实现有很多种,下面是实现之一:

    /*
     * Singleton.java 1.0 2014/07/01
     * 
     * 声明:欢迎转载,请注明出处。
     * 
     */
    package com.liushijie.singleton;
    /**
     * 单例模式实现
     * @author array7
     * @version 1.0
     * @since 1.6
     */
    public class Singleton {
        /**
         * 双重加锁,保证并发环境下正确性。(性能优于synchronized)
         */
        private volatile static Singleton singleton = null;
        
        /**
         * 私有构造函数,防止外部篡改数据
         */
        private Singleton() {
            System.out.println("#Singleton#数据初始信息#");
        }
        
        public static Singleton getInstance() {
            if (singleton == null) {
                           synchronized (Singleton.class) {
                                  if (singleton == null) {
                                         singleton = new Singleton();
                                  }
                           }
            return singleton;
        }
        /**
         * singleMethod
         */
        public void singleMethod() {
            System.out.println("#Singleton#singleMethod run...");
        }
    }

    调用片段:

    Singleton singleton = Singleton.getInstance();
    singleton.singleMethod();
  • 相关阅读:
    关于事务
    jquery弹出框
    ??(怕忘记 特此记录)
    .net事务
    揭开iphone4 4S 5 之间的内幕!这次你们该相信了吧!
    net得到当前时间
    aspnet ajax2.0下载安装包 msi
    jquery css 逐渐增加div的大小
    DataTable转换为Json对象
    安装EntityFramework
  • 原文地址:https://www.cnblogs.com/liushijie/p/4712928.html
Copyright © 2011-2022 走看看