zoukankan
html css js c++ java
Singleton模式的两种实现方法
在设计模式中,有一种叫Singleton模式的,用它可以实现一次只运行一个实例。就是说在程序运行期间,某个类只能有一个实例在运行。这种模式用途比较广泛,会经常用到,下面是Singleton模式的两种实现方法:
1、饿汉式
public
class
EagerSingleton
{
private
static
readonly
EagerSingleton instance
=
new
EagerSingleton();
private
EagerSingleton()
{}
public
static
EagerSingleton GetInstance()
{
return
instance;
}
}
2、懒汉式
public
class
LazySingleton
{
private
static
LazySingleton instance
=
null
;
private
LazySingleton()
{}
public
static
LazySingleton GetInstance()
{
if
(instance
==
null
)
{
instance
=
new
LazySingleton();
}
return
instance;
}
}
两种方式的比较:饿汉式在类加载时就被实例化,懒汉式类被加载时不会被实例化,而是在第一次引用时才实例化。这两种方法没有太大的差别,用哪种都可以。
查看全文
相关阅读:
android 如何在手机上 安装两个同样的app
Ubuntu 16.04 安装Gitlab
VScode开发C++常用插件
过滤text字段为空的数据
ES标签搜索并解决评分排序问题
3
2
1
9
Maven3种打包方式
原文地址:https://www.cnblogs.com/michaelxu/p/679853.html
最新文章
Vuex、Flux、Redux、Redux-saga、Dva、MobX
浅谈 instanceof 和 typeof 的实现原理
JavaScript事件代理(事件委托)
ES6中的Array.from()函数的用法
Session会话恢复:两种简短的握手总结SessionID&SessionTicket
用纯 CSS 创建一个三角形
如何实现浏览器内多个标签页之间的通信——postMessage的使用
利用webSocket实现浏览器中多个标签页之间的通信
Go语言学习之路-6-数组
Go语言学习之路-5-Go语言基础用户输入&流程控制
热门文章
Go语言学习之路-4-Go语言运算符
8.8 以管道取代循环(Replace Loop with Pipeline)
29. 去除中间人对象
23. 引入参数对象
2. 移动方法
1.封装集合
目标检测01:常用评价指标(AP、AP50、AP@50:5:95、mAP)
【转】whistle--全新的跨平台web调试工具
textContent 对比 innerText 、innerHtml
fatal: refusing to merge unrelated histories解决
Copyright © 2011-2022 走看看