Language agnostic 什么是急装?

Language agnostic 什么是急装?,language-agnostic,Language Agnostic,什么是急装?我用PHP/JS编写代码,但是一个更一般化的答案就可以了 我看到了很多关于Java和Ruby的问题,但我对这些语言一无所知,而且我发现很难阅读代码。我不知道首先应该做什么有三个层次: 急切加载:你可以在被要求时做任何事情。经典的例子是两个矩阵相乘。你做所有的计算。那是迫不及待的装载 延迟加载:您仅在需要时进行计算。在上一个示例中,在访问结果矩阵的元素之前,不会进行任何计算;及 过急加载:这是您尝试和预测用户要求并预加载的地方 我希望这在你看到的情况下是有意义的 让我给你举个“韦比”的

什么是急装?我用PHP/JS编写代码,但是一个更一般化的答案就可以了


我看到了很多关于Java和Ruby的问题,但我对这些语言一无所知,而且我发现很难阅读代码。我不知道首先应该做什么有三个层次:

  • 急切加载:你可以在被要求时做任何事情。经典的例子是两个矩阵相乘。你做所有的计算。那是迫不及待的装载
  • 延迟加载:您仅在需要时进行计算。在上一个示例中,在访问结果矩阵的元素之前,不会进行任何计算;及
  • 过急加载:这是您尝试和预测用户要求并预加载的地方
  • 我希望这在你看到的情况下是有意义的

    让我给你举个“韦比”的例子

    想象一下,一个页面上有滚动图像,比如菜单项或导航。此页面上的图像加载有三种方式:

  • 在呈现页面之前加载所需的每个图像(eager
  • 仅加载页面上显示的图像,并在需要时加载其他图像(lazy);及
  • 仅加载页面加载时显示的图像。页面加载后,在背景中预加载其他图像,以备需要(过度急切

  • 有意义吗?

    与之相反,它延迟对象的初始化,直到需要该对象。“急切加载”会在对象创建时初始化对象。

    如果您想象您有一个名为person的对象,他有一个名字、出生日期和一些不太重要的细节,比如说最喜欢的颜色、最喜欢的电视节目

    若要延迟加载此类,您可能需要初始化它,从数据库中读取所有更常用的核心详细信息(如姓名和出生日期),并仅在需要时读取较少使用的详细信息,而快速加载则相反,即您同时加载所有详细信息


    延迟加载的好处通常被称为效率,但是,如果对象不是那么复杂或效率不是问题,则可以使用紧急加载。

    在Angular 8中也可以使用紧急加载。这只是意味着,应用程序加载到浏览器中的那一刻,我们会自动立即获取特定模块中的所有代码,例如,假设您刚刚创建了一个带有登录注册组件的身份验证模块,并将其导入应用程序模块


    相反,有延迟加载,这是当我们告诉加载了验证模块应用模块仅在某个时间点加载验证模块,例如当用户走到某个路线时

    我可以补充说,这些术语通常在ORM(对象关系映射器)的上下文中使用(可能来自?),在ORM中,您可以将对象映射到关系数据库中的表。仔细想想,延迟加载更多的是在每次函数调用时减少内存和增加计算,然而,当创建类时,急切加载会使用更多内存和更多计算,而调用函数时,会使用更少计算;这仍然是一个很好的答案。它简短,简单,并给出了一个例子。懒惰-不愿意工作或使用能源。渴望——强烈地想要做或拥有某事。有道理!好问题。