A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵永康 中级黑马   /  2012-9-20 11:06  /  1083 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近在帖子上看见有的同学们问到了单例设计模式,本人也是一个java初学者,为了弄清单例设计模式,
特把毕老师的视频看了好几遍,现总结了一下,希望对不明白的同学们有所帮助!

//设计模式:就是前辈的编程人员 在设计开发的过程中总结出来的一套经验方法
//单例设计模式:就是让一个类在内存中只能产生一个对象
//单例的思想:1,将构造函数私有化------就不能随意的创建对象了
//       2,在本类中自定义对象,以便于获取
//       3,创建一个方法,用于获取本类对象。
//单例设计模式:饿汉式  懒汉式    开发中我们一般使用饿汉式
//饿汉式:在获取方法之外就创建本类对象,饿汉式线程比较安全
class SingleDemo
{
private SingleDemo(){}
private static SingleDemo  sd=new SingleDemo();//为什么要定义静态的
public static SingleDemo getInstance()
{
  return sd;
}
}
//懒汉式:此线程是不安全的,比较容易发生异常
class SingeDemo1
{
private SingleDemo1(){}
private SingleDemo1 sd1=null;//在外部不创建对象
public static SingleDemo1  getInstance()
{
  if(sdi==null)
   sd1=new SingleDemo();
  return sd1;
}
}
//解决方法:加入多线程的技术  解决了线程不安全的隐患
class SingeDemo1
{
private SingleDemo1(){}
private SingleDemo1 sd1=null;//在外部不创建对象
public static SingleDemo1  getInstance()
{
  if(sdi==null)
   synchronized(Object obj)
   {
    if(sd1==null)

              sd1=new SingleDemo();
   }
  return sd1;
}
}

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马