menbbo

导航

 

应用场景

1)整个业务系统只使用一个redis连接、发号器;

2)SpringIOC容器中的bean;

3)sptringboot中的Controller、service、dao层中通过@Autowire注入的对象默认都是单例的。

分类

懒汉:jvm启动时,该对象还没有创建,在使用时才会创建,即延迟创建;

饿汉:与懒汉相反,提前创建对象。

实现步骤

1)私有化构造函数;

2)提供获取单例的方法。

饿汉式优缺点

1)优点:实现简单,没有多线程同步问题;

2)缺点:不管有没有使用,instance对象一直占着这块内存;

如何选择

对象不大,且创建不复杂,则使用饿汉式;

其他情况则采用懒汉实现方式。

单例模式在源码中的使用

饿汉:Runtime类

懒汉:DeskTop类

 

posted on 2022-02-26 16:31  menbbo  阅读(22)  评论(0编辑  收藏  举报