package com.javaWeb03; /** * 单例设计模式:单例的意思是一个类永远只存在一个对象,不能创建多个对象 * why需要单例:开发中很多类的对象我们只需要一个,例如:虚拟机对象,任务管理器对象 * 对象越多越占内存,有时候只需要一个对象就可以实现业务,单例可以节约内存,提高性能 */ public class SingleTest { public static void main(String[] args) { singleHungry sh1 = singleHungry.getInstance(); singleHungry sh2 = singleHungry.getInstance(); System.out.println(sh1 == sh2); singleLazy sl=singleLazy.getInstance(); singleLazy sl2=singleLazy.getInstance(); System.out.println(sl==sl2); } } /** * 饿汉单例 */ class singleHungry { //2、定义一个静态成员变量用于存储一个对象(饿汉单例,在返回对象的时候,对象已经创建好了) public static singleHungry sh = new singleHungry(); //1、先私有化构造器,只能在本类中访问 private singleHungry() { } //3、提供一个方法返回单例对象 public static singleHungry getInstance() { return sh; } } /** * 懒汉单例 */ class singleLazy { //2、定义一个静态成员变量用于存储一个对象(懒汉单例不能直接创建对象,必须需要的时候才创建) public static singleLazy sl; //1、定义一个私有构造函数 private singleLazy() { } //3、提供一个方法返回单例对象 public static singleLazy getInstance() { if (sl == null) { sl = new singleLazy(); } return sl; } }
单例设计模式,以及懒汉单例、饿汉单例
最新推荐文章于 2024-05-23 17:45:07 发布