应用场合:有些对象只需要一个,比如:配置文件,工具类,线程池、缓存、日志对象等;
常用的有懒汉模式和饿汉模式两种单例模式;(构造方法:私有化,不允许外部直接创建)
区别:
【饿汉模式】- 类加载的时候就创建了类的实例,所以加载类时比较慢,但运行时获取对象的速度比较快;线程安全;
/** * 单例模式 - 饿汉模式 * 类加载时就创建类的实例 * @author chenj */ public class Singleton { private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return instance; } public static void main(String args[]){ Singleton st1 = Singleton.instance; Singleton st2 = Singleton.instance; if(st1 == st2){ System.out.println("s1和s2是同一个实例"); } else { System.out.println("s1和s2不是同一个实例"); } } }
【懒汉模式】- 类使用的时候才创建类的实例,所以加载类时比较快,但运行时获取对象的速度比较慢;线程不安全;
/** * 单例模式 - 懒汉模式 * 类使用时才创建类的实例 * @author chenj */ public class Singleton { private static Singleton instance; public static Singleton getInstance(){ if(instance == null){ instance = new Singleton(); } return instance; } public static void main(String args[]){ Singleton st1 = Singleton.instance; Singleton st2 = Singleton.instance; if(st1 == st2){ System.out.println("s1和s2是同一个实例"); } else { System.out.println("s1和s2不是同一个实例"); } } }
相关推荐
java设计模式中的单例模式,而单例模式又分为饿汉模式和懒汉模式
设计模式--单例模式java例子
JAVA-设计模式-创建型模式-单例模式
Java设计模式-单例模式详解
设计模式-单例模式 学习时候联系的代码,可以进行参考
Java-设计模式-单例模式-实现源码(简单实现、双重检查锁、静态内部类、枚举类)
设计模式 java设计模式-单例.pdf
Java设计模式-单例模式(懒汉和恶汉)
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂
9单例模式:单个实例单例模式:单个实例 设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板全文共22页,当前为第10页。 logo 10适配器类模式:定义接口、类1与类2适配器类模式:定义接口、类1与类2 设计模式...
入名所示,该文件为最详细的Java单例模式讲解并附有讲解代码。主要讲了单例模式的几种方法,懒汉模式、饿汉模式、静态内部类模式。着重讲解了懒汉模式下怎么实现线程安全。饿汉模式和静态内部类模式如何设置能够避免...
java单例设计模式-饿汉式-懒汉式[参照].pdf
java单例设计模式-饿汉式-懒汉式[归纳].pdf
代码中演示了Java设计模式中的单例模式,其中包括饿汉单例模式,懒汉单例模式以及序列化饭序列化单例模式。在实际的开发中,可以直接借鉴使用。
目录 单例模式的概念 单例模式的要点 单例模式类图 单例模式归类 单例模式的应用场景 单例模式解决的问题 单例模式的实现方式 单例模式实现方式对比 单例模式的概念 单例模式,顾名思义就是只有一个实例,并且由它...
常见设计模式-单例模式
单例模式和工厂模式结合应用,实现了产品的生产,适合用做课程设计,包含详细文档和代码。Java语言。喜欢的可以下载来看看那
Java面向对象(高级)-- 单例(Singleton)设计模式
java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂 第二部分
java设计模式之单例模式