黑马程序员技术交流社区

标题: 延迟加载的单例模式 [打印本页]

作者: chenwei    时间: 2012-4-21 16:22
标题: 延迟加载的单例模式
写一个延迟加载的单例模式(Singleton)的例子?
class A {
        private String name;
        private A() {
       
        }
        A a=new A();
        A a1=a;
        public void SetName(String n){
         a1.name=n;
        }
        public String GetName(){
        return a1.name;
        }
       
}
单例模式知道,
什么是延迟加载呢
作者: 张超超    时间: 2012-4-21 16:29
 延迟加载(lazy load)是(也称为懒加载)是关联关系对象默认的加载方式,延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。可以简单理解为,只有在使用的时候,才会发出执行语句。
实现延迟加载有3种方式:1.实体对象 2.集合   3.属性的延迟加载
作者: 孙国军    时间: 2012-4-21 16:31
  1. //懒汉式(延迟加载的单例设计模式示例)
  2. class DanLi
  3. {
  4.         private DanLi danLi=null;
  5.         private DanLi()
  6.         {
  7.         }
  8.         public static DanLi getDanLi()
  9.         {
  10.                 if(danLi=null)
  11.                 {
  12.                         synchronized(DanLi.class)
  13.                         {
  14.                                 if(danLi=null)
  15.                                 {
  16.                                         danLi=new DanLi();
  17.                                 }
  18.                         }
  19.                 }
  20.                 return danLi;
  21.         }

  22. }
复制代码
其实就是单例设计模式中的懒汉式;上面我写的一个懒汉式

作者: 考不上黑马    时间: 2015-4-21 16:25
孙国军 发表于 2012-4-21 16:31
其实就是单例设计模式中的懒汉式;上面我写的一个懒汉式

你好,你的的声明DanLin变量应该加静态修饰符,getDanLI方法是静态的。下面判断为空应该写双等号==,不是赋值号




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2