Java基础 | Java单例模型 | 06

设计模式概述

设计模式:是一种代码的总结,是软件开发人员在软件开发过程中面临的一般问题的解决方案。

  • 反复使用
  • 经过分类编目
  • 代码设计经验
  • 多数人知晓

下面是分类的23种设计模式。

单例模式的定义和作用

单例模式

  • 目的 使得类的一个对象称为该类系统种的唯一实例
  • 定义 一个类有且仅有一个实例,并且自行实例化向整个系统提供(也就是自行创建实例,并提供给外部使用)

单例模式可以分为懒汉式和饿汉式。
懒汉式就是创建对象时比较懒,先不急着创建对象,在需要加载配置文件的时候再去创建。
饿汉式就是在系统初始化的时候我们已经把对象创建好了,需要用的时候直接拿过来用就好了。

饿汉式的代码实现

package com.imooc.singleton;

//饿汉式:创建对象实例的时候直接初始化  空间换时间
public class SingletonOne {
	// 1、创建类中私有构造
	private SingletonOne() {

	}

	// 2、创建该类型的私有静态实例
	private static SingletonOne instance = new SingletonOne();

	// 3、创建公有静态方法返回静态实例对象
	public static SingletonOne getInstance() {
		return instance;
	}
}

测试代码表示两个对象getInstance()的是同一个对象。

懒汉式的代码实现

package com.imooc.singleton;
//懒汉式:类内实例对象创建时并不直接初始化,直到第一次调用get方法时,才完成初始化操作
//时间换空间
public class SingletonTwo {
	//1、创建私有构造方法
	private SingletonTwo(){
		
	}
	
	//2、创建静态的该类实例对象
	private static SingletonTwo instance=null;
	
	//3、创建开放的静态方法提供实例对象
	public static SingletonTwo getInstance(){
		if(instance==null)
			instance=new SingletonTwo();
		
		return instance;
	}
}

饿汉式 VS 懒汉式

单例模式的特点及适用场景

小结

什么是设计模式?

设计模式:是一种代码的总结,是软件开发人员在软件开发过程中面临的一般问题的解决方案。
* 反复使用
* 经过分类编目
* 代码设计经验
* 多数人知晓

单例模式

单例模式
*   目的 使得类的一个对象称为该类系统种的唯一实例
*   定义 一个类有且仅有一个实例,并且自行实例化向整个系统提供(也就是自行创建实例,并提供给外部使用)

实现
* 只提供私有的构造方法
* 含有一个该类的静态私有对象
* 提供一个静态的公有的方法用于创建、获取静态私有对象


单例模式可以分为懒汉式和饿汉式。
懒汉式就是创建对象时比较懒,先不急着创建对象,在需要加载配置文件的时候再去创建。
饿汉式就是在系统初始化的时候我们已经把对象创建好了,需要用的时候直接拿过来用就好了。
posted @ 2021-08-19 09:52  RowryCho  阅读(36)  评论(0编辑  收藏  举报