当前位置:网站首页>直播平台开发,直播各个分类单例设计展示
直播平台开发,直播各个分类单例设计展示
2022-06-21 16:08:00 【云豹网络科技】
直播平台开发,直播各个分类单例设计展示
一、 饿汉式实现
立即加载就是使用类的时候已经将对象创建完毕(不管以后会不会使用到该实例化对象,先创建了再说。很着急的样子,故又被称为“饿汉模式”),常见的实现办法就是直接new实例化。
public class Singleton {
/** * 将自身实例化对象设置为一个属性,用static、final修饰 */
private static final Singleton INSTANCE = new Singleton();
/** * 构造方法私有化 */
private Singleton(){
}
/** * 静态方法返回实例 * @return */
public static Singleton getInstance()
{
return INSTANCE;
}
}
二、懒汉式实现
延迟加载就是调用get()方法时实例才被创建(先不急着实例化出对象,等要用的时候才给你创建出来。不着急,故又称为“懒汉模式”),常见的实现方法就是在get方法中进行new实例化。
注意: 以下代码在多线程环境中是完全错误的,根本不能保证单例的状态
public class Singleton2 {
private static Singleton2 instance;
private Singleton2(){
}
public static Singleton2 getInstance()
{
if(instance == null){
instance = new Singleton2();
}
return instance;
}
}
内部类实现单例
这种方式没有线程问题,只要不调用getInstance()方法,就不会使用内部类,内部类一旦被使用只会被初始化一次,以后一直用的就是静态常量 INSTANCE 了。
public class Singleton3 {
private Singleton3(){
}
public static Singleton3 getInstance()
{
return SingletonHodler.INSTANCE;
}
/** * 静态内部类 */
private static class SingletonHodler
{
private static final Singleton3 INSTANCE = new Singleton3();
}
}
以上就是直播平台开发,直播各个分类单例设计展示, 更多内容欢迎关注之后的文章
边栏推荐
- 神经网络七十年:回顾与展望
- [MySQL learning notes 14] DQL statement execution sequence
- Why is rediscluster designed with 16384 slots?
- Behind Yanrong SaaS service platform, which is as stable as a rock, is the rise of data ecology
- PingCAP 入选 2022 Gartner 云数据库“客户之声”,获评“卓越表现者”最高分
- Clickhouse learning notes 2: basic use tutorial
- Kotlin常用函数 let,with,apply,also,run
- Side effects in compose
- 拉格朗日插值
- Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which
猜你喜欢

为什么RedisCluster设计成16384个槽?

软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述

Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which

3de 3D model View ne voit pas comment ajuster

【数据集】|BigDetection

Jetpack compose management status (I)

Volcano engine + Yanrong yrcloudfile, driving new growth of data storage

神经网络七十年:回顾与展望

#Vscode工具#

Accélérer le déploiement de l'application Native Cloud et compléter l'authentification de compatibilité entre Yanrong yrcloudfile et Tianyi Cloud
随机推荐
My gadget - card learning app is complete
为什么RedisCluster设计成16384个槽?
LeetCode_字符串_简单_387. 字符串中的第一个唯一字符
map和实体类互转的代码示例
Pingcap was selected as the "voice of customers" of Gartner cloud database in 2022, and won the highest score of "outstanding performer"
窗帘做EN 1101易燃性测试过程是怎么样的?
Google play 应用签名密钥证书,上传签名证书区别
BM22 比较版本号
[MySQL learning notes 19] multi table query
path.join() 、path.basename() 和 path.extname()
加速雲原生應用落地,焱融 YRCloudFile 與天翼雲完成兼容性認證
vector的模拟实现
加速云原生应用落地,焱融 YRCloudFile 与天翼云完成兼容性认证
不是一流大学毕业,却通过自学软件测试,进了阿里年薪初始22K
加密大崩盘,Web3游戏到底还有没有未来?5篇论文深度探讨
list的使用
Analysis of 43 cases of MATLAB neural network: Chapter 27 prediction of LVQ Neural Network - face orientation recognition
AttributeError: ‘Book‘ object has no attribute ‘sheet‘
Are the two flame retardant standards of European furniture en 597-1 and en 597-2 the same?
How can aggressive programmers improve R & D efficiency Live broadcast Preview