java中的序列化与反序列化
我试图理解java中序列化和反序列化之间的区别。我知道网上有很多答案和主题,但我没有发现任何适合理解的 以下是我的一些疑问: 1) 对象以反序列化形式位于内存中,但它看起来如何?它不是只以字节形式(0和1)存储吗?还是其他形式 2) 一旦对象被序列化,它就是一个字节流,那么它看起来如何,或者与反序列化形式有什么不同(步骤1) 3) 当我们通过网络发送对象的数据时,哪种形式转换成字节 我知道这可能是非常愚蠢的怀疑,但请容忍我,让我走上正确的方向。!:)java中的序列化与反序列化,java,serialization,deserialization,Java,Serialization,Deserialization,我试图理解java中序列化和反序列化之间的区别。我知道网上有很多答案和主题,但我没有发现任何适合理解的 以下是我的一些疑问: 1) 对象以反序列化形式位于内存中,但它看起来如何?它不是只以字节形式(0和1)存储吗?还是其他形式 2) 一旦对象被序列化,它就是一个字节流,那么它看起来如何,或者与反序列化形式有什么不同(步骤1) 3) 当我们通过网络发送对象的数据时,哪种形式转换成字节 我知道这可能是非常愚蠢的怀疑,但请容忍我,让我走上正确的方向。!:) 根据Java版本、您的PC(比如不同的字节顺
但毕竟对象只是内存中的一些字节
这可以是一些原始的二进制格式,比如默认的java序列化,或者一些二进制json,或者一些基于文本的格式,比如json、yaml、xml。(文本也是字节,但确实更易于显示和人类阅读)
有关序列化本身的更多信息,请阅读此问题:
你能解释一下你所说的第三点是什么意思吗?“只发送与内存中相同的数据是可能的,但在大多数情况下这是一个非常糟糕的主意。”为什么?@Elena,因为这样你可能无法使用它,因为你会将它发送到期望不同架构的PC。在java中,我不确定在将这样的对象注入内存后是否可以使用它——从未尝试过做这样奇怪的事情