当前位置: 首页 > 面试题库 >

补水是什么意思?

岳阳飙
2023-03-14
问题内容

当有人谈论给对象补水时,这是什么意思?

我在网上看到一个名为Hydrate的Java项目,该项目可以在不同表示形式(RDMS到OOPS到XML)之间转换数据。这是物体水化的一般含义吗?在表示之间转换数据?这是否意味着要从存储的表示形式重建对象层次结构?


问题答案:

关于更通用的术语 水合物

对对象进行水化处理是获取内存中存在的,尚未包含任何域数据(“真实”数据)的对象,然后使用域数据(例如从数据库,网络或文件中)填充该对象系统)。

从埃里克·罗伯森(Erick Robertson)对这个答案的评论:

反序列化==实例化+水合

如果您不必担心性能过高,并且不调试数据访问API内部的性能优化,那么您可能不需要显式处理水合作用。通常,您通常使用反序列化,因此您可以编写更少的代码。某些数据访问API没有为您提供此选项,在这种情况下,您还必须自己明确调用水合步骤。

有关水合概念的更多详细信息,请参见埃里克·罗伯森(ErickRobertson)对同一问题的回答。

关于名为hydr的Java项目

您是专门问这个框架的,所以我调查了一下。

据我所知,我认为该项目在一般意义上并没有使用“水合”一词。我在标题中看到了它的使用,是“序列化”的近似同义词。如上所述,这种用法并不完全准确:

参见:http :
//en.wikipedia.org/wiki/Serialization

将数据结构或对象状态转换为可以在同一计算机或其他计算机环境中存储并稍后重建的格式。

我无法在Hydrate
FAQ
上直接找到其名称背后的原因,但我了解了其意图。我认为他们之所以选择名称“
Hydrate”,是因为该库的用途类似于流行的类似声音的Hibernate框架,但在设计时却考虑到了完全相反的工作流程。

包括Hibernate在内的大多数ORM都采用面向内存的面向对象模型的方法,而数据库则是第二考虑的。相反,Hydrate库采用面向数据库模式的方法,可以保留您的关系数据结构,并使您的程序在它们之上更干净地工作。

打个比方来说,还是对于这个库的名字: 水合物_是像“使一些准备使用”(如重新保湿干燥食品)。它与
_Hibernate
的隐喻相反,它更像是“为冬天丢掉东西”(例如AnimalHibernation)。

据我所知,命名库Hydrate的决定与通用计算机编程术语“ hydrate”无关。

当使用通用计算机编程术语“水合物”时,性能优化通常是动机(或调试现有优化)。即使该库支持对对象填充数据的时间和方式进行精细控制,但时间和性能似乎并不是名称或库功能的主要动机。该库似乎更关心启用端到端映射和模式保存。



 类似资料:
  • 本文向大家介绍黄瓜中的胶水是什么意思?,包括了黄瓜中的胶水是什么意思?的使用技巧和注意事项,需要的朋友参考一下 胶水是Cucumber选项的一部分,它描述了步骤定义文件的位置和路径。 示例 测试运行器文件。

  • 问题内容: 我正在开发可与fluxible一起使用的最小应用程序。几乎所有事情似乎都清楚了,但只有一件事:脱水和复水状态的概念。 我知道这是在客户端和服务器之间同步存储所需要的,但是我不知道为什么。这行对我来说还不清楚: 在server.js中(https://github.com/yahoo/fluxible/tree/master/examples/react- router ) 如果您能用“

  • 问题内容: 在java int,float等中,是原始类型。如果我们需要将其与泛型一起使用,则使用包装器类。但是,以下声明在Java中仍然有效, 即使它是原始类型,如何调用? 问题答案: 原始对象成为对象 对于基元,在相应的包装器类中有一些名为TYPE的常量的Class对象可用-即,int.class更改为java.lang.Integer.TYPE。对于其他类型,编译器在正在编译的类中创建一个私

  • 问题内容: 我目前正在(恢复)使用EJB的速度,而当我离开时,它发生了巨大的变化(到目前为止更好)。但是,我遇到了一个我正在苦苦挣扎的概念,并且想更好地理解它,因为它似乎在我们的代码中使用了(我工作的地方,而不是我和我所有的声音)。 这是我在一本书中找到的示例。这是显示如何使用注释的示例的一部分: 的类是一个相当简单的类来定义对:和。 哦,我从Rubinger&Burke的O’Reilly的Ent

  • 问题内容: 什么是POSIX?我已阅读Wikipedia文章,并且每次遇到该术语时都会阅读。事实是我从来没有真正了解过它是什么。 有人可以通过解释“ POSIX的需求”来向我解释吗? 问题答案: POSIX是IEEE指定的一系列标准,用于阐明和统一Unix- y操作系统提供的应用程序编程接口(以及附属问题,例如命令行外壳实用程序)。当您编写依赖于POSIX标准的程序时,可以肯定地将它们轻松移植到大

  • 本文向大家介绍NULL是什么意思?相关面试题,主要包含被问及NULL是什么意思?时的应答技巧和注意事项,需要的朋友参考一下 NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。 对NULL这个值的任何比较都会生产一个NULL值。 您不能把任何值与一个 NULL值进行比较,并在逻辑上希望获得一个答案。 使用IS NULL来进行NULL判断