直播平台开发,直播各个分类单例设计展示

直播平台开发,直播各个分类单例设计展示

一、 饿汉式实现

立即加载就是使用类的时候已经将对象创建完毕(不管以后会不会

使用到该实例化对象,先创建了再说。很着急的样子,故又被称为

“饿汉模式”),常见的实现办法就是直接new实例化。

 

1
<br>public class Singleton {<br>    /**<br>     * 将自身实例化对象设置为一个属性,用static、final修饰<br>     */<br>    private static final Singleton INSTANCE = new Singleton();<br>    /**<br>     * 构造方法私有化<br>     */<br>    private Singleton(){}<br>    /**<br>     * 静态方法返回实例<br>     * @return<br>     */<br>    public static Singleton getInstance()<br>    {<br>        return INSTANCE;<br>    }<br>}

二、懒汉式实现

延迟加载就是调用get()方法时实例才被创建(先不急着实例化出对

象,等要用的时候才给你创建出来。不着急,故又称为“懒汉模

式”),常见的实现方法就是在get方法中进行new实例化。

 

注意: 以下代码在多线程环境中是完全错误的,根本不能保证单例的状

 

1
<br>public class Singleton2 {<br>    private static Singleton2 instance;<br>    private Singleton2(){}<br>    public static Singleton2 getInstance()<br>    {<br>        if(instance == null){<br>            instance = new Singleton2();<br>        }<br>        return instance;<br>    }<br>}

 

内部类实现单例

这种方式没有线程问题,只要不调用getInstance()方法,就不会使用内部类,内部类一旦被使用只会被初始化一次,以后一直用的就是静态常量 INSTANCE 了。

 

1
<br>public class Singleton3 {<br>    private Singleton3(){}<br>    public static Singleton3 getInstance()<br>    {<br>        return SingletonHodler.INSTANCE;<br>    }<br>    /**<br>     * 静态内部类<br>     */<br>    private static class SingletonHodler<br>    {<br>        private static final Singleton3 INSTANCE = new Singleton3();<br>    }<br>}

 

以上就是直播平台开发,直播各个分类单例设计展示, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示