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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 79481535 中级黑马   /  2015-10-4 15:14  /  518 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

饿汉式:
  1. class Single
  2. {
  3.         private static final Single s = new Single();
  4.         private Single(){}
  5.         public static Single getInstance()
  6.         {
  7.                 Return s;
  8.         }
  9. }
复制代码


懒汉式
  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. }
复制代码

方便查看所用。

3 个回复

倒序浏览
写的好精辟,大神吶
回复 使用道具 举报
哪种方式比较好?
回复 使用道具 举报
当我们需要在内存中创建一个唯一对象时就可以用单例。比如说同一个淘宝账户买,卖,加入购物车,等等所有操作。就可以使用单利设计模式。
“饿汉式”是在不管你用的用不上,一开始就建立这个单例对象。
“懒汉式”是在你真正用到的时候才去建这个单例对象。
“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。
一般开发的时候建议使用饿汉式,因为没有线程同步问题。
懒汉式存在同步问题,有可能在线程抢占资源时重复创建对象,
解决方法就是加上非空判断且加上同步代码块。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马