gpt4 book ai didi

java - 了解 Java 中序列化的重要性

转载 作者:行者123 更新时间:2023-12-01 19:46:27 25 4
gpt4 key购买 nike

我刚刚了解到 Java 中序列化的概念,虽然我“了解”了基础知识,但我不禁觉得这有点矫枉过正?我的逻辑是,如果我有指向对象的指针,并且我知道它在内存中占用了多少字节。为什么我不能理论上将这些字节写入某个 txt 文件,以及一些额外的字节来指示类型。有了这个,我不能只读回这些字节并恢复我的原始对象吗?

我的书涉及序列化的详细信息给了我一个很好的迹象,表明我并没有真正理解这一点的重要性,并且可能有比仅按原样写出所有字节更微妙的事情。任何帮助是极大的赞赏! (如果有帮助的话,我有一些 C++ 背景)

最佳答案

Why can't I just theoretically write these bytes to some txt file, along with the some extra bytes to indicate the type. With this, can't I just read these bytes back and restore my original object?

怎么会有人读回它们?假设我正在编写应该在您的文件中读取的代码。请告诉我第三个字节的含义,以便我可以正确解码。

如果对象的内部表示包含指向其他对象的指针,而这些对象在下次程序运行时可能位于不同的内存位置,该怎么办?例如,通过对同一内部字符串对象进行内部引用来管理相同的字符串是很常见的。考虑到内部字符串对象在下次运行中可能不存在,将该引用写入文件如何明智?

要将数据写入文件,您需要以某种特定的格式将其写出,该格式实际上包含您需要能够读回的所有信息。此时该程序内部发生的情况将不会发生。不要这样做,因为不能保证另一个程序在另一个时间可以理解它。

关于java - 了解 Java 中序列化的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53096927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com