java的设计模式-单例模式

spring框架提供的bean对象就是单例模式的最好实现。
一般情况下的单例模式分为:懒汉模式和饿汉模式。顾名思义,懒汉模式则是你需要使用到这个对象的时候才会去创建实例。饿汉模式,则是类加载完成后,就会去创建一个实例,不论你是否使用。在实际的业务使用过程中,估计最常使用的就是饿汉模式,因为这个最简单也是最容易实现的,不用去考虑线程安全问题,而饿汉模式则需要去考虑线程安全问题。
1.饿汉式单例模式:
常规的饿汉模式代码:
007f9b0a-05ca-4786-8ded-d231176aa223
在类加载完成后,就会直接创建Mgr01实例。
下面是改进版本的饿汉模式:
通过静态代码块的形式
4589d853-dcde-4b97-a04e-a4c427a509a6

2.懒汉式单例模式:
68e532e6-0414-45d6-969e-248abef11884
上面的涉及到线程不安全,创建的实力并不是同一个。
2.1改进版本的:(1.方法上加synchronized,在判断对象是否为空)
b752ba0e-a5a3-4956-b9f1-477e7d4e21f4
2.2改进版本的:(1.先判断对象是否为空,再在方法内加synchronized)
cb9f9ce0-72a1-4f5e-9db7-5aa2ce1bef19

3.还有一种内部类的形式,也是线程安全的。
7e28018e-0ee6-4a57-9ecd-7d76c5136109

posted @ 2026-04-15 23:55  夏天凉白开  阅读(5)  评论(0)    收藏  举报