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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HKing 中级黑马   /  2014-8-21 21:17  /  2416 人查看  /  24 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

设计一个懒加载的单例模式,代码如下:
  1. public class Single {
  2.         /**
  3.          * 类描述,根据具体需求而设计
  4.          */
  5.         private String name;
  6.         public String getName() {
  7.                 return name;
  8.         }
  9.         public void setName(String name) {
  10.                 this.name = name;
  11.         }
  12.         /**
  13.          * 私有化构造函数
  14.          */
  15.         private Single(){}
  16.         /**
  17.          * 创建一个本类引用,指向null
  18.          */
  19.         private static Single single = null;
  20.         /**
  21.          * 提供一个共有的静态方法使其他类能获取本类对象
  22.          */
  23.         public static Single getInstance() {
  24.                 //此处进行双重判断以及加锁,解决多线程懒汉式容易出错的问题
  25.                 if (single == null) {
  26.                         synchronized (Single.class) {
  27.                                 if (single == null) {
  28.                                         single = new Single();
  29.                                 }
  30.                         }
  31.                 }
  32.                 return single;
  33.         }
  34. }
复制代码

注意:开发中用饿汉式,而面试中多数要求实现的是懒汉式!




评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 赞一个!

查看全部评分

24 个回复

倒序浏览
来顶一个,我面试的时候确实考了
回复 使用道具 举报
其实就是多了个开始本类指向为NULL  然后再双重判断下是吧?
回复 使用道具 举报
基础视频里有两次讲到懒汉式,讲的很清楚
回复 使用道具 举报
男人你得有范 来自手机 中级黑马 2014-8-22 00:31:08
报纸
总结的不错,又复习了一次
回复 使用道具 举报
懒汉式确实是别人喜欢问的问题,单例设计,线程同步
回复 使用道具 举报
不错。又重新认真的复习了一遍。面试时这个题难不倒我了
回复 使用道具 举报
对象是方法被调用时,才初始化的写法,也叫做对象的延时加载
回复 使用道具 举报
Kikyou 中级黑马 2014-8-22 08:30:24
9#
面试的时候要你做的这个题目?
回复 使用道具 举报
标记一下
回复 使用道具 举报
学习了。。。。。。。。。。。。。。。。
回复 使用道具 举报
谢谢楼主分享
回复 使用道具 举报
懒汉式听说面试必考的
回复 使用道具 举报
过来学习学习!
回复 使用道具 举报
顶一下!!
回复 使用道具 举报
好多人都是问了单例设计模式
回复 使用道具 举报
懒汉式多线程并发,需要双重判断才能解决安全问题吧
回复 使用道具 举报
这几个貌似都是面试必问的   
回复 使用道具 举报
梧桐树下 来自手机 中级黑马 2014-8-23 00:08:23
19#
谢谢分享
回复 使用道具 举报
学习了.........................
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马