黑马程序员——单例设计模式

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

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

  用代码实现单例设计模式需要做三部:

  1、将构造函数初始化。

  例:private Single(){}

   2、在类中创建一个本类对象。

   例:private static Single s= newSingle();

   3、提供一个访问方法可以获取到该对象。

  例:public static Single getInstance()

  {

   returns;

  }

  单例设计模式只是为了保证内存中的对象唯一,其他在类中该怎么描述吗,还是怎么描述。

  单例设计模式有两种写法:

      1、饿汉式:也就是刚三部中的示例语句。它的特点是先初始化对象。如:Single类一进内存,就已经创建好了对象。在实际开发中,出

      于安全考虑,建议使用饿汉式。

  完整代码如下:

 

  1. class Single
  2. {
  3. private static Single s=new Single();
  4. private Single(){}
  5. public static Single getInstance()
  6. {
  7. return s;
  8. }
  9. }

      2、懒汉式:它的特点对象是方法被调用时,才初始化,这也叫对象的延时加载。如:在以下完整代码中,Single类进内存,对象还没有

      存在,只有调用了getInstance()方法时,才创建对象。

  完整代码如下:

  1. class Single
  2. {
  3. private static Single s=null;
  4. private Single(){}
  5. public static Single getInstance()
  6. {
  7. if(s==null)
  8. s=new Single();
  9. return s;
  10. }
  11. }
时间: 2024-10-10 22:19:13

黑马程序员——单例设计模式的相关文章

黑马程序员--单例设计模式

单例设计模式:解决的问题:保证一个类在内存中的对象唯一性.比如:多程序读取一个配置文件时,建议配置文件封装成对象.会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的. Runtime()方法就是单例设计模式进行设计的. 如何保证对象唯一性呢?思想:1,不让其他程序创建该类对象.2,在本类中创建一个本类对象.3,对外提供方法,让其他程序获取这个对象. 步骤:1,因为创建对象都需要构造函数初始化,只要将本类中的构造函数私有化,其他程序就无法再创建该类

黑马程序员_09. api-线程及单例设计模式

黑马程序员_api-线程及单例设计模式 a.明确以下概念: 1.进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或叫一个控制单元. 2.线程:就是进程中的一个独立的控制单元.线程在控制着进程的执行,一个进程中至少有一个线程. 3.多线程:如果一个进程中存在着多个控制单元,那么这个进程是一个多线程的应用程序.JVM启动时是一个多线程. b.创建线程的两种方式 1. java已经提供了对线程这类事物的描述.就是Thread类.并且这个类把要运行的代码存放在了run

黑马程序员--Java基础学习笔记【单例设计模式、网络编程、反射】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 设计模式分类: 创建模式:是对类的实例化过程的抽象化,又分为类创建模式和对象创建模式 类创建模式:工厂方法模式 对象-:简单工厂(静态工厂方法)模式.抽象工厂模式.单例模式.建造模式- 结构模式:描述如何将类或者对象结合在一起形成更大的结构 适配器模式.缺省模式.合成模式.装饰模式(包装模式).门面模式- 行为模式:对不同的对象之间划分责任和算法的抽象化 不变模式.策略模式.迭代子模式.命令模

黑马程序员-学习日记(单例设计模式的两种类型)

单例设计模式:解决一个类在内存中只有一个对象 多个程序使用统一配置信息对象时,需要保证该对对象的唯一性. 保证对象唯一性的实现步骤: 1.将构造函数私有化:为了避免其他程序过多建立该对象,禁止其他程序调用该对象. 2.在类中创建一个本类对象:为了让其他程序可以访问该类对象 3.提供一个方法可以获取到该对象的方法:方便其他程序访问自定义的本类对象.(类方法的访问方式只有两种,建立对象或定义为静态方法)

【黑马】程序员————多线程(二)单例设计模式、线程间通信,JDK1.5互斥锁

------Java培训.Android培训.iOS培训..Net培训.期待与您交流!----- 一.单例设计模式 单例设计模式的意义: A.保证类在内存中只有一个对象,不提供外部访问方式,构造函数用private修饰. B.提供公共方法(static修饰,类的静态方法),获取类的实例.单例设计模式分为饿汉和懒汉两种模式. 饿汉式&懒汉式 class Test33 { public static void main(String[] args) { Fanjianan.getInstance()

黑马程序员——多线程下的单例设计模式的安全问题

//多线程下的单例设计模式 class Sing { //饿汉式不存在安全问题,因为其不是线程同步的 private static Sing s = new Sing(); private Sing(){} public static Sing getInstance() { return s; } } class Single { private static Single s = null; private Single(){} public static Single getInstanc

黑马程序员——Java基础---单例

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                         单例 设计模式:解决问题最行之有效的方法,让问题简单化,Java中有23种. 单例:解决一个类在内存,只有一个对象 想要保证对象唯一: 1,为了避免其他程序过多建立该类对象,

黑马程序员_java多线程 单例设计

------- <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.com" target="blank">java培训</a>.期待与您交流! ---------- 一.线程的方法 1.yield让出cpu 2.setPriority()设置线程的优先

黑马程序员———基础视频中涉及的几个设计模式

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- package o_oriented; /* 设计模式: 解决某一问题最行之有效的方法.java中有23种设计模式. 单例设计模式: 解决一个类在内存只存在一个对象. 思路: 1.为了避免其他程序过多的建立该类对象,先禁止其他程序访问该类