1.懒汉模式
双重同步锁单例模式,单例实例在第一次使用时进行创建。

2.饿汉模式
即在类装载的时候就构造好了。
如果在类构造方法里面没有过多的处理,饿汉模式这种写法是可以接受的;
如果其构造方法里有很多操作就会造成类加载很慢,引起性能问题
如果这个类被加载了却没被调用,是一种资源的浪费
建议:当构造方法操作不多,而且这个类必定会被用到的时候可以用恶汉模式
如图所示这里要注意static的先后顺序!!!

3.枚举模式
枚举模式:最安全
JVM保证这个方法绝对只调用一次

双重同步锁单例模式,单例实例在第一次使用时进行创建。
即在类装载的时候就构造好了。
如果在类构造方法里面没有过多的处理,饿汉模式这种写法是可以接受的;
如果其构造方法里有很多操作就会造成类加载很慢,引起性能问题
如果这个类被加载了却没被调用,是一种资源的浪费
建议:当构造方法操作不多,而且这个类必定会被用到的时候可以用恶汉模式
如图所示这里要注意static的先后顺序!!!
枚举模式:最安全
JVM保证这个方法绝对只调用一次
本文标题:单例模式的三种写法
本文链接:https://www.haomeiwen.com/subject/lcjiuftx.html
网友评论