什么是渴望加载?
回答
有三个层次:
- 预先加载:当问及你所做的一切。经典的例子是当你乘两个矩阵。你做所有的计算。这是急切的加载;
- 延迟加载:您只需要时进行计算。在前面的例子中,除非访问结果矩阵的一个元素,否则不做任何计算;和
- 过分渴望加载:这是您尝试和预测用户将要求和预加载它的地方。
我希望在你看到的上下文中有意义。
让我给你一个“Webby”的例子。
想象一个包含翻转图像的菜单项或导航页面。有三种方式将图像加载可在此页上运行:
- 加载您呈现页面(渴望)之前,需要每一个图像;
- 在页面加载时仅加载显示的图像并在需要时加载其他图像(lazy);和
- 仅加载页面加载时显示的图像。在页面加载之后,在背景中预加载其他图像以防您需要它们(over-eager)。
有意义吗?
这与lazy loading相反,它推迟对象的初始化,直到需要该对象。急切加载在创建时初始化对象。
我可以补充说,这些术语通常用在ORM(对象关系映射器)的上下文中,在这里你将对象映射到关系数据库中的表格。 – Loki 2009-08-19 11:44:57
如果你想象你有一个叫人的对象,他有一个名字,一个出生日期和一些不太关键的细节,可以说最喜欢的颜色,最喜欢的电视节目。
为了延迟加载这个类,你可能会从数据库读取所有核心更频繁使用的细节(比如说出生的名字和出生日期),并且只有在需要/需要的时候才会读取较少使用的细节,渴望加载是相反的,即你在同一时间加载所有细节。
懒加载的典型应用该类超支往往citied为effiecency,但如果对象是不是复杂或efficency不关心预先加载可用于
当你考虑它时,延迟加载更多的是关于每个函数调用时更少的内存和更多的计算,而当创建类时急切的加载会使用更多的内存和更多的计算,而调用函数时会减少计算量。 – Loki 2009-08-19 11:49:25
- 1. Laravel渴望模型加载
- 2. Laravel渴望加载和whereHas
- 3. 渴望加载to_json包括
- 4. ActiveRecord(NHibernate)渴望加载Bug?
- 5. Laravel渴望加载4表
- 6. 懒惰,渴望,显式加载意味着什么?
- 7. 为什么使用懒惰/渴望加载数据库级别
- 8. Eloquent渴望加载$追加属性
- 9. Rails渴望加载CanCan角色
- 10. NHibernate渴望加载需要在这里?
- 11. 分页与渴望加载Laravel 5.4
- 12. 渴望加载一对多关系
- 13. Rails 3 - 渴望加载条件
- 14. 渴望加载追踪项目?
- 15. PNG纹理不加载在HTC渴望
- 16. Paginate渴望加载的关系
- 17. 如何显示渴望加载的值
- 18. Rails:渴望加载as_json包括
- 19. Mongoid:渴望加载计数has_many association
- 20. 渴望加载与NHibernate的子集合
- 21. Linq with Entity Framework渴望加载
- 22. 渴望加载祖先树多叶
- 23. Hibernate的延迟加载,渴望负荷
- 24. Laravel:渴望加载3“关系”
- 25. Laravel渴望加载嵌套或条件
- 26. 渴望加载不工作laravel 5.3
- 27. HIbernate和渴望加载集合
- 28. 级联渴望加载问题
- 29. Nhibernate - 传呼和渴望加载实体
- 30. 渴望加载外活动记录
虽然你摔过通过超越的具体问题;这仍然是一个很好的答案。它简短并且举例。 – Phil 2011-03-05 17:22:26
谢谢..很好的回答:) – Orlando 2012-05-08 14:27:01