设为首页 加入收藏

TOP

设计模式之单例模式理解
2023-07-26 08:18:31 】 浏览:575
Tags:计模式 单例模

定义:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)


1.饿汉式


此种方式在工作中最为简单常用。类加载到内存后,就只被实例化一次,所以只会产生一个实例,JVM保证线程安全。唯一的缺点是不管用到与否,都会在类加载的时候完成实例化。


2.懒汉式


此种方式虽然达到了按需初始化的目的,但是带来了线程不安全的问题,所以通过加锁的方式解决,但是又带来效率下降的问题,另外变量需要添加volatile关键字,防止指令重排序。


3.静态内部类


此种方式解决了上面两种方式的问题,当SingletonInner类被加载的时候,SingletonInnerHolder内部类是不会被加载的,只有在调用getInstance()的时候才会被加载,既达到了懒加载,又保证了只有一个实例。


4.枚举方式


此种方式不仅可以解决线程同步问题,还可以防止反序列化,因为枚举类没有构造方法。


 


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇如何在Python中执行外部命令 下一篇跟我学Python GUI编程系列 - Tkin..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目