1.设计模式概述


23种模式:

2.单例模式概述:



3.饿汉模式vs懒汉模式
3.1饿汉式(空间换时间)
//饿汉式:创建对象实例的时候直接初始化
public class SingletonOne {
//1.创建类私有构造
private SingletonOne(){
}
//2.创建该类型的私有静态实例
private static SingletonOne instance=new SingletonOne();
//创建公有静态方法返回静态实例对象
public static SingletonOne getInstance(){
return instance;
}
}
3.2懒汉式(时间换空间)
//懒汉式:类种实例对象时并不初始化,直到第一次调用get方法时,才完成初始化操作
public class SingletonTwo {
//1.创建类私有构造
private SingletonTwo(){
}
//2.创建该类型的私有静态实例
private static SingletonTwo instance=null;
//创建公有静态方法返回静态实例对象
public static SingletonTwo getInstance(){
if(instance==null){
instance=new SingletonTwo();
}
return instance;
}
}
测试:
public class test {
public static void main(String[] args) {
SingletonOne one=SingletonOne.getInstance();
SingletonOne two=SingletonOne.getInstance();
//==对于基本类型比较的是数据值,对于引用类型比较的是地址值
System.out.println(one==two);
System.out.println("--------------------");
SingletonTwo one1=SingletonTwo.getInstance();
SingletonTwo two1=SingletonTwo.getInstance();
System.out.println(one==two);
}
}

3.3pk

解决方法:

本文介绍了设计模式中的单例模式,包括其概念和23种模式的概述。重点讲解了单例模式的两种实现方式:饿汉模式和懒汉模式。饿汉模式在类加载时就完成了初始化,牺牲了空间换取时间效率;而懒汉模式则在第一次调用时才进行初始化,实现了时间效率但增加了空间开销。通过测试代码展示了两种模式的实例比较,强调了它们在实际应用中的选择和权衡。
266

被折叠的 条评论
为什么被折叠?



