zoukankan      html  css  js  c++  java
  • Java学习之Java的单例模式

          本文由广州疯狂软件Java培训中心为你整理:

      单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。

      单例模式有一下特点:

      1、单例类只能有一个实例。

      2、单例类必须自己自己创建自己的唯一实例。

      3、单例类必须给所有其他对象提供这一实例。

      单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头

      单例模式的设计:一个类在内存中只存在一个对象。

      方法:

      1,为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象

      2,为了让其他程序访问到该类对象,在该类中自定义一个对象

      3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方法

      代码体现:

      1,将构造函数私有化

      2,在本类中创建一个本类对象

      3,提供一个方法可以获取到该对象

      方法一:先初始化

      代码如下 复制代码

      class Single{

      private Single(){}

      private static Single s = new Single();

      public static Single getInstance(){

      return s;

      }

      }

      方法二:对象被调用时才初始化

      代码如下 复制代码

      class Single{

      private static Single s=null;

      private Single(){}

      public static Single getinstance(){

      if(s==null){

      s=new Single();

      }

      return s;

      }

      }

      //调用

      class SingleDemo{

      public static void main(String[] args){

      Single s1= Single.getInstance();

      }

      }

      学真正Java技术,当然选疯狂软件Java培训机构,打造国内标准Java人才

      疯狂软件Java培训优势

      1. Java是世界第一大编程语言,市场占有率达20%。

      2.广州最专业Java培训机构,多年教学经验。

      3.学员技术牛就业率最好,就业薪资都在5000以上。

      4.部分老师还是Java技术系列书籍的作者,由这样的Java书籍原创作者讲课可想而知课程条理清晰、讲解清楚,知识面广、深度足够!

      5.疯狂软件Java培训课程以项目实战带动教学,上课打破传统课堂模式,以实训项目贯穿教学,带领学生一起做企业真实项目。

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在没有工作经验的学员,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!

  • 相关阅读:
    转:上传图片到服务器文件佳
    RowDataBound 事件的巧妙运用
    对查询数据库中第M到N条记录的思考1
    mysql导入表
    vim向上查找
    stackoverflow太好用了
    【原创翻译】理解python的with语句
    转 Python 实例方法、@staticmethod和@classmethod
    我真的渴望成为一名技术牛人
    今天的囧事,一定要熟练使用git。。
  • 原文地址:https://www.cnblogs.com/gojava/p/3557649.html
Copyright © 2011-2022 走看看