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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© edithe 中级黑马   /  2015-6-3 11:08  /  661 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

步骤:1.私有化构造函数。
  2.声明本类的引用类型,并且创建本类的对象。
  3.提供一个公共的方法获取本类的对象。
  1. class design{
  2.         //自己在内部维护一个对象,用static 修饰,表明就此一份
  3.         private static design d = new design();
  4.         //私有化构造函数,不让创建对象
  5.         private design(){
  6.                
  7.         }
  8.         //提供一个获取对象的方法
  9.         public static design getD() {
  10.                 return d;
  11.         }
  12. }
复制代码






懒汉单例设计模式:
步骤:1.私有化构造函数。
  2.声明本类的引用类型变量,但是不要创建对象。
  3.提供一个公共静态的方法获取本类的对象,获取之前先判断是否已经创建本类的对象,如果没有就创建一个,并返回,否则直接返回。
  1. class design{
  2.         //自己在内部维护一个对象,用static 修饰,表明就此一份
  3.         private static design d;
  4.         //私有化构造函数,不让创建对象
  5.         private design(){
  6.                
  7.         }
  8.         //提供一个获取对象的方法,先判断是否已创建对象
  9.         public static design getD() {
  10.                 if(d==null)
  11.                         d= new design();
  12.                 return d;
  13.         }
  14. }


复制代码



推荐使用饿汉单例设计模式,因为很明显懒汉设计模式存在线程安全问题。

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

14 个回复

倒序浏览
过来看看。。。。。
回复 使用道具 举报
:lol学习了
回复 使用道具 举报
懒汉设计模式存在的线程问题可以使用同步synchronized解决的
回复 使用道具 举报
学习,顶一下。
回复 使用道具 举报
过来学习一下
回复 使用道具 举报
懒汉式和饿汉式,不过同步在哪里?
回复 使用道具 举报
使用synchronized解决懒汉设计模式存在的线程问题
回复 使用道具 举报
开发基本用不到,面试经常考
回复 使用道具 举报
路过,看看,学习
回复 使用道具 举报
看视频好像是加个synchronized比较好的
回复 使用道具 举报
懒汉设计模式存在的线程问题可以使用同步synchronized解决的
回复 使用道具 举报
懒汉式所谓延迟加载我觉得在实际使用中没有太大意义而,俄汉式不存在多线程同步问题,个人觉得在实际应用中比较好
回复 使用道具 举报
对单例又过了一遍 谢谢
回复 使用道具 举报
过来看看,学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马