设计模式1 单例模式之 懒汉模式和饿汉模式

1.什么是单例模式并发

单例模式和名字同样就是只有单个实例对象存在,有时候咱们只须要一个对象若是每次都new一个同样的,这样会给JVM的内存形成负担从而也会是GC时间变长。好比咱们使用Spring的时候Bean默认都是单例的,由于咱们只要使用里面的一些统一的执行方法,不须要到多态的特性。性能

在Spring中,bean能够被定义为两种模式:prototype(多例)和singleton(单例)prototype

singleton(单例):只有一个共享的实例存在,全部对这个bean的请求都会返回这个惟一的实例。对象

prototype(多例):对这个bean的每次请求都会建立一个新的bean实例,相似于new。blog

Spring bean 默认是单例模式。内存

2.懒汉模式请求

懒汉能够理解为拖延症,要等到deadline的时候才去处理。也就是再第一次调用的时候采起生成对象。固然这样最并发放的状况下会出现多建立对象,加锁又会影响性能。方法

3.饿汉模式im

饿汉模式就是已经急不可耐了,在系统启动的时候就要建立出来。这样的好处就不会出现懒汉模式并发的问题,缺点就是影响启动时间,若是没用到的话会占用内存。img

相关文章
相关标签/搜索