懒加载(Load On Demand)技术

0、背景

Web应用程序做的最多就是和后台数据库交互,而查询数据库是种非常耗时的过程。当数据库里记录过多时,查询优化更显得尤为重要。为了解决这种问题,有人提出了缓存的概念。缓存就是将用户频繁使用的数据放在内存中以便快速访问。在用户执行一次查询操作后,查询的记录会放在缓存中。当用户再次查询时,系统会首先从缓存中读取,如果缓存中没有,再查询数据库。缓存技术在一定程度上提升了系统性能,但是当数据量过大时,缓存就不太合适了。因为内存容量有限,把过多的数据放在内存中,会影响电脑性能。而另一种技术,懒加载可以解决这种问题。

1、懒加载基本概念

懒加载——也称为延迟加载,即在需要的时候才加载(效率低,但占用内存小)。所谓懒加载,重新设计的是其get方法。
注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化。

2、使用懒加载的好处

能够在需要某部分数据的时候自动获取更多的数据,而不是一次性加载所有的数据。新得到的数据不会影响原有数据的显示,同时最大程度上减少服务器端的资源耗用。

3、应用案例

考虑这样一个例子:海尔电器是一个非常大的组织机构,它下有1万多个组织单元。由于组织单元的复杂性,组织单元间也存在着上下级关系。现在的问题是:用户想加入海尔电器的某个组织单元,他该怎么选择到这个组织单元呢?
很容易想到的一个解决方法是:查询数据库,把海尔电器的所有组织单元放到一个下拉列表中,让用户选择即可。这样的确是解决问题了,但是,测试发现,浏览器在显示组织单元数据时就直接假死了。看来,这样做性能太差,可以不采纳。
另一个解决方法就是利用懒加载技术。由于组织单元间存在着上下级关系,那么组织单元的排列就可以当作一棵树来处理。在显示数据时只显示父节点,点击父节点时,就能显示父节点下的子节点
用户要选择某个组织单元,只需点击该组织单元的父亲节点就能找到该组织单元。
可以看出,懒加载节省了系统响应时间,提升了系统性能,非常具有利用价值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,235评论 25 709
  • 高考已经考完,不少考生选择旅游或在家打游戏打发时间。离公布成绩还有半个月,这段时间考生可以好好利用一下,专心思考自...
    十六画生的写作阅读 1,364评论 0 0
  • 《将心注入》,其中感受最深的是,星八克在创业初期,连续亏损3年时,创业者心底坚定!清楚自己的所做所为对未来的价值!...
    真心爱礼阅读 2,944评论 2 0
  • 包包一直是能够解决女生各种疑难杂症的必杀技, 治得了拖延症恐惧症选择症困难症, 缓解得了姨妈疼痛甚至生产痛 解决得...
    鲜觉FreshDesign阅读 2,773评论 0 0
  • 20170622睡前仪式打卡第2天: 老子曰,圣人以其无私故能成其私。这句话本质上就是做人做事要遵循利他原则,从利...
    跟娟姐学蜕变阅读 6,809评论 0 0

友情链接更多精彩内容