161 什么是渴望加载?我用PHP / JS编写代码,但是更通用的答案就可以了。 我看到了很多有关Java和Ruby的问题,但是我不知道这些语言中的任何一种,而且我很难阅读代码。首先我不知道该怎么办 language-agnostic — Quamis source 好问题。 — PA-GW
383 分为三个级别: 渴望加载:在被询问时您可以做所有事情。经典示例是将两个矩阵相乘。您完成所有计算。渴望加载; 延迟加载:仅在需要时进行计算。在前面的示例中,在访问结果矩阵的元素之前,您无需进行任何计算;和 急切加载:您可以在此处尝试预期用户的要求并对其进行预加载。 我希望这在您看到的情况下有意义。 让我给您一个“ Webby”示例。 想象一个页面,其中包含菜单项或导航之类的过渡图像。在此页面上可以通过三种方式加载图像: 在呈现页面之前加载所需的每个图像(eager); 仅在页面加载时加载显示的图像,并在需要时加载其他图像(惰性);和 在页面加载时仅加载显示的图像。页面加载后,在需要时将其他图像预加载到背景中(过急)。 合理? — 克莱图斯 source 3 尽管您超越了特定的问题,但还是过分了;这仍然是一个很好的答案。它简短,简单,并举了一个例子。 — 菲尔(Phil)
23 这与延迟加载相反,它延迟了对象的初始化,直到需要该对象为止。渴望加载会在创建对象时初始化它。 — 比尔蜥蜴 source 1 我可以补充一点,这些术语通常在ORM(对象关系映射器)的上下文中使用(可能来自?),在ORM中,您将对象映射到关系数据库中的表。 — 洛基(Loki)
10 如果您想象自己有一个叫人的对象,该人的名字,出生日期和不太重要的细节数量,那么可以说喜欢的颜色,喜欢的电视节目。 要延迟加载该类,您可以初始化它,也许从数据库中读取所有更常用的核心详细信息(例如姓名和出生日期),并且仅在需要时才读入较少使用的详细信息,而急于加载则相反,即您同时加载所有详细信息。 延迟加载的好处通常被认为是效率,但是如果对象不是那么复杂或效率不是问题,则可以使用急切加载 — 戴夫D source 7 考虑一下,延迟加载更多的是在每个函数调用时使用更少的内存和更多的计算,而渴望加载将在创建类时使用更多的内存和更多的计算,而在调用函数时使用更少的计算。 — Loki
0 急切的加载也用在Angular 8中。这只是意味着应用程序自动加载到浏览器中后,我们即刻自动获取特定模块内的所有代码,例如,您刚刚使用登录和注册创建了Auth模块。导入到App Module中的组件。 相比之下,这是延迟加载,这是当我们告诉已向其中加载了Auth模块的App Module时,才仅在特定时间点(例如,当用户转到特定路线时)加载Auth Module。 — 丹尼尔 source