Update Appendix-Object-Serialization.md (#455)

第三段最后一句“可以考虑像 Hibemate 之类的工具”中的hibemate应该为hibernate
This commit is contained in:
aibowen
2020-05-13 10:28:53 +08:00
committed by GitHub
parent 79d4de9061
commit 0ee9cd0ae2

View File

@@ -7,7 +7,7 @@
Java 的对象序列化将那些实现了 Serializable 接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复为原来的对象。这一过程甚至可通过网络进行,这意味着序列化机制能自动弥补不同操作系统之间的差异。也就是说,可以在运行 Windows 系统的计算机上创建一个对象,将其序列化,通过网络将它发送给一台运行 Unix 系统的计算机,然后在那里准确地重新组装,而却不必担心数据在不同机器上的表示会不同,也不必关心宇节的顺序或者其他任何细节。
就其本身来说对象序列化可以实现轻量级持久性lightweight persistence“持久性”意味着一个对象的生存周期并不取决于程序是否正在执行它可以生存于程序的调用之间。通过将一个序列化对象写磁盘,然后在重新调用程序时恢复该对象,就能够实现持久性的效果。之所以称其为“轻量级”,是因为不能用某种"persistent"持久关键字来简单地定义一个对象并让系统自动维护其他细节问题尽管将来有可能实现。相反对象必须在程序中显式地序列化serialize和反序列化还原deserialize如果需要个更严格的持久性机制可以考虑像 Hibemate 之类的工具。
就其本身来说对象序列化可以实现轻量级持久性lightweight persistence“持久性”意味着一个对象的生存周期并不取决于程序是否正在执行它可以生存于程序的调用之间。通过将一个序列化对象写磁盘,然后在重新调用程序时恢复该对象,就能够实现持久性的效果。之所以称其为“轻量级”,是因为不能用某种"persistent"持久关键字来简单地定义一个对象并让系统自动维护其他细节问题尽管将来有可能实现。相反对象必须在程序中显式地序列化serialize和反序列化还原deserialize如果需要个更严格的持久性机制可以考虑像 Hibernate 之类的工具。
对象序列化的概念加入到语言中是为了支持两种主要特性。一是 Java 的远程方法调用Remote Method InvocationRMI它使存活于其他计算机上的对象使用起来就像是存活于本机上一样。当向远程对象发送消息时需要通过对象序列化来传输参数和返回值。
@@ -978,4 +978,4 @@ People 构造器使用 XOM 的 Builder.build() 方法打开并读取一个文件
<!-- 分页 -->
<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>