JAVA语言设计模式之单例模式代码实例分析
小标 2018-12-04 来源 : 阅读 1016 评论 0

摘要:本文主要向大家介绍了JAVA语言设计模式之单例模式代码实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言设计模式之单例模式代码实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


单例模式属于创建型设计模式,通过单例模式可以保证系统中一个类只有一个实例,即一个类只有一个对象实例。使用单例模式的有很多原因,比如对象实例化需要的时间比较久,并且系统长时间,或经常使用该对象时,这种情况可以考虑使用单例模式,这样会节约一定的时间。下面是线程安全模式的单例模式,


经典款:


public class Singlenton

    {

        private static readonly Object _lock = new object();

 

        private static Singlenton _instance=null;

 

        private Singlenton()

        {

            Thread.Sleep(5000);//模拟对象实例时需要比较长的时间

        }

 

        public static Singlenton CreatInstance()  

        {

            if (_instance==null)   //减少线程等待

            {

                lock (_lock)  //线程安全 --多线程同时访问时,会在这里排队等待

                {

                    if (_instance==null)  //保证系统内这类只有一个实例

                    {

                        _instance = new Singlenton();

                    }

                }

            }

 

            return _instance;

        }

 

 

    }

   


静态构造函数实现方式:


public class SinglentonStatic

   {

       private static SinglentonStatic _instance  = new SinglentonStatic();

 

       private static SinglentonStatic()

       {

           Thread.Sleep(5000);//模拟对象实例时需要比较长的时间

       }

 

       public static SinglentonStatic CreatInstance()

       {

           return _instance;

       }

   }

   


单例模式创建实例对象后,多个线程同时使用对象的属性时,会出现线程并发的问题。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程