设计模式之单例模式(Singleton Pattern),太简单了
程序员文章站
2022-07-09 19:52:17
基本定义 单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点。单例模式有如下几个特点: 它只有一个实例。 它必须要自行实例化。 它必须自行向整个系统提供访问点。 代码实现 饿汉式 直接初始化静态变量。这样就保证了线程安全。 public class Singleton { private ......
基本定义
单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点。单例模式有如下几个特点:
- 它只有一个实例。
- 它必须要自行实例化。
- 它必须自行向整个系统提供访问点。
代码实现
饿汉式
直接初始化静态变量。这样就保证了线程安全。
public class singleton { private static singleton singleton = new singleton(); private singleton(){ } public static singleton getinstance(){ return singleton; } }
懒汉式
按需加载. 配合synchronized来处理。也就是说将getinstance()方法变成同步方法
public class lazysingleton { private static volatile lazysingleton lazysingleton; private lazysingleton(){ } public static lazysingleton getinstance(){ if(lazysingleton == null){ synchronized(lazysingleton.class){ lazysingleton = new lazysingleton(); } } return lazysingleton; } }
优点
节约了系统资源。由于系统中只存在一个实例对象,对与一些需要频繁创建和销毁对象的系统而言,单例模式无疑节约了系统资源和提高了系统的性能。
因为单例类封装了它的唯一实例,所以它可以严格控制客户怎样以及何时访问它。
缺点
由于单例模式中没有抽象层,因此单例类的扩展有很大的困难。
jdk源码
懒汉式
java.lang.runtim
饿汉式
java.lang.system
上一篇: vue-VueRouter-后台管理案例
下一篇: 集成Jacoco
推荐阅读
-
设计模式系列1:单例模式(Singleton Pattern)
-
Java设计模式之单例模式 - Singleton
-
设计模式之单例模式(Singleton Pattern),太简单了
-
设计模式 - 单例模式(Singleton Pattern)
-
JavaScript设计模式之单例模式简单实例教程
-
【wif系列】C#之单例模式(Singleton Pattern)最佳实践
-
设计模式系列1:单例模式(Singleton Pattern)
-
java设计模式之 单例模式【Singleton Pattern】 详解
-
Java设计设计模式之单例模式(Singleton)
-
JavaScript设计模式之单例模式简单实例教程