5种常见单例模式的特性比较及用法建议
2017-10-27 15:22
281 查看
1.常见5种单例模式实现方式
-主要:
①饿汉式:线程安全,调用效率高,但不能延时加载;
②饱汉式:线程安全,调用效率不高,能延时加载
-其他:
①双重检测锁式:由于JVM底层内部模型原因,偶尔会出问题,不建议使用;
②静态内部类式:线程安全,调用效率高,能延时加载;
③枚举式:线程安全,调用效率高,但不能延时加载。可以天然的防止反射和反序列化漏洞。
2.如何选用
-单例对象,占用资源少,不需要延时加载:枚举式 好于 饿汉式;
-单例对象,占用资源大,需要延时加载:静态内部类 好于 懒汉式。
-主要:
①饿汉式:线程安全,调用效率高,但不能延时加载;
②饱汉式:线程安全,调用效率不高,能延时加载
-其他:
①双重检测锁式:由于JVM底层内部模型原因,偶尔会出问题,不建议使用;
②静态内部类式:线程安全,调用效率高,能延时加载;
③枚举式:线程安全,调用效率高,但不能延时加载。可以天然的防止反射和反序列化漏洞。
2.如何选用
-单例对象,占用资源少,不需要延时加载:枚举式 好于 饿汉式;
-单例对象,占用资源大,需要延时加载:静态内部类 好于 懒汉式。
相关文章推荐
- Android开发之——消息模式Toast.makeText的常见用法
- [转]Number one:单例模式5种JAVA实现及其比较
- 单例模式的几种用法比较
- 消息模式Toast.makeText的几种常见用法
- 消息模式Toast.makeText的几种常见用法
- 55、vi常见用法(2),可视模式
- 消息模式Toast.makeText的几种常见用法
- [C/C++不常见语法特性]_[模板编译模式]
- PHP目前比较常见的五大运行模式
- 单例模式的几种用法比较
- JS正则表达式比较常见用法
- 5种单例模式的介绍与比较
- snmp ospf 比较高级的用法,建议详细读取
- [C/C++不常见语法特性]_[模板编译模式]
- List和ListIterator的常见用法及特性
- 消息模式Toast.makeText的几种常见用法
- 常见的设计模式-创建型模式(5种)
- 单例模式的几种用法比较
- 消息模式Toast.makeText的几种常见用法
- JavaEE5种常见的设计模式