zoukankan      html  css  js  c++  java
  • 【设计模式】Java之单例设计模式

    1.单例设计模式:一个类只能有一个对象

    1.1 创建单例类的步骤:

        1.将构造方法私有化

        2.创建私有的静态成员变量

        3.共有的静态成员方法,提供当前的唯一对象

    1.1 创建单例的两种方式:

          1.饿汉式 -- 一开始执行时就先给单例类对象赋值

    //方式一:饿汉式  一开始执行,就先给单例类对象赋值
    class SingleInstance{
    	//在单例类的内部创建了一个私有化对象
    	private final static SingleInstance singleInstance = new SingleInstance();
    	
    	//构造方法私有化
    	private SingleInstance() {
    				
    	}
    	//建立一个public方法,将单例类对象提供出去
    	public static SingleInstance getSingleInstance() {
    		return singleInstance;
    	}
    
    	//单例类的功能区
    
    }

        2. 懒汉式 -- 一开始为null,什么时候使用,就什么时候赋值

            懒汉式我们这里讨论考虑线程安全的情况。需要用synchronized关键字进行加锁,保证线程安全。

    //懒汉式 
    class SingleInstance{
    	private static SingleInstance instance = null;
    	private SingleInstance() {
    		
    	}
    	public static SingleInstance getInstance() {
    		if(instance == null ) {//编写最外层的if,是为尽量少的判断线程同步,提高效率
    			synchronized (SingleInstance.class) {//获取当前类的字节码充当同步代码块的锁,让多个线程之间互斥  
    				if(instance == null) {
    					instance = new SingleInstance();
    				}
    			}
    		}
    		return instance;
    	}
    	//工作位置
    }





  • 相关阅读:
    Web负载均衡的几种实现方式
    DNS负载均衡
    NoSQL开篇——为什么要使用NoSQL
    mySQL优化 my.ini 配置说明
    mysql性能优化-慢查询分析、优化索引和配置
    MySQL性能优化的最佳20+条经验
    IOS的UIPickerView 和UIDatePicker
    IOS的KVC
    IOS中的通知NSNotification
    IOS对话框UIAlertView
  • 原文地址:https://www.cnblogs.com/snova/p/9195706.html
Copyright © 2011-2022 走看看