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

    在进行开发的时候,我们在有些情形下有些对象我们只需要一个。例如:配置文件、工具类、线程池、缓存、日志对象等。

      如何保证我们的对象只有一个呢?我们可以通过单例来实现。

      常用的单例有两种:饿汉模式和懒汉模式。

      饿汉模式:当类加载的时候就会创建这个单例对象。(加载比较慢,但是运行的时候会比较快,线程安全

    public class Singleton {
    	//1.将构造方法设置为私有,不允许外界直接实例化类的对象
    	private Singleton(){
    		
    	}
    	
    	//2.创建一个私有的静态实例对象
    	private static Singleton instance = new Singleton();
    	
    	//3.通过一个共有的静态方法获得实例对象
    	public static Singleton getInstance(){
    		return instance;
    	}
    }
    

       懒汉模式:类加载的时候不会创建类的单例,只有第一次在调用getInstance()方法的时候,才会创建类的单例。(加载快,运行时第一次获取慢,非线程安全

    public class Singleton {
    	//1.将构造方法设置为私有,不允许外界直接实例化类的对象
    	private Singleton(){
    		
    	}
    	
    	//2.声明一个类的唯一实例,使用private static修饰
    	private static Singleton instance;
    	
    	//3.通过一个共有的静态方法获得实例对象
    	public static Singleton getInstance(){
    		if(instance == null){
    			instance = new Singleton();
    		}
    		return instance;
    	}
    }
    
  • 相关阅读:
    20162310 《程序设计与数据结构》课程总结
    实验五数据结构综合应用 20162310
    Dijkstra
    图的深度优先遍历与广度优先遍历以及最小生成树
    课堂练习之链表节点删除与构建堆
    算法复杂度
    构造Huffman以及实现
    索引和查找课堂笔记与解读同伴问题和收获
    课下测试ch17&ch18
    课堂作业之杨辉三角形
  • 原文地址:https://www.cnblogs.com/fangying7/p/4675892.html
Copyright © 2011-2022 走看看