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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© syusikoku 高级黑马   /  2014-3-30 08:42  /  1202 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单例模式:
    就是说你不能创建对象,但是你可以通过调用我的静态的方法获取到我内部创建的一个实例对象
  
  分为饱汉模式和饿汉模式:
      饱汉模式: 就是说对象是已经创建好的,直接可以调用。
                而且这个对象不管有没有人调用都是已经创建好的。它是随着类的加载而加载
      饿汉模式: 就是说对象的引用创建了,但是还没有实例对象。当静态方法调用的时候,
才会创建该类的实例对象。  
     
      饿汉模式引起的线程安全问题的体现:
    这里会出现线程安全的问题。如果一个线程进来了,发现对象为空,就要创建,但是这里
我们还没有给他赋值。另外一个线程就进来了。发现这里的对象也是为空,他也创建的。这
个时候内存里面就有两个对象了。这就是线程安全问题的体现。
               

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
:handshake
回复 使用道具 举报
:handshake谢谢楼主分享
回复 使用道具 举报
不客气。我的QQ是2475725157, 可以加我。大家多交流交流。
回复 使用道具 举报
已阅    :)
回复 使用道具 举报
  1. class Singleton
  2. {
  3.         private static Singleton singleton=null;
  4.         private Singleton(){}
  5.         public static Singleton getSingleton()
  6.         {
  7.                 return singleton!=null?singleton=new Singleton():singleton;
  8.         }
  9. }
复制代码


懒汉式
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马