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;
    	}
    	//工作位置
    }





  • 相关阅读:
    CSS和Js样式属性的对照关系
    CSS选择器
    主成分分析(PCA)核心思想
    线性变换的本质
    java 滤镜实现
    Spring Boot工程发布到Docker
    解决maven的报错
    spring boot初探
    WPF的Page介绍及Page Window Frame 之间的链接使用示例,嵌套问题
    浅谈WPF页间导航
  • 原文地址:https://www.cnblogs.com/snova/p/9195706.html
Copyright © 2011-2022 走看看