首页 > 解决方案 > 序列化和非序列化对象之间的区别?

问题描述

我试图理解序列化和反序列化在 Java 中的含义。

我猜我们用 Java 语言编写的每一件事都会在代码被编译并进入处理器执行时变成一组字节。编译后,一切都变成机器语言或字节。正确的 ..?

所以对象创建已经是一组位于内存中要工作的字节,那么序列化和非序列化术语对对象有什么特别的作用..?

我不清楚在计算机硬件中想象这两个术语..!

任何人都可以帮助..?

谢谢

标签: javaserializationdeserialization

解决方案


序列化是一种持久化机制。

您在运行时使用它将“内存中”对象转换为可以存储在文件或数据库中或可以通过某些网络发送的表示。

反序列化只是相反的操作:将“传输”表示转回“内存中”对象。

这样做的主要原因:它允许“内存中”的表示是有意义的。正如其中一条评论所述:Java 对象不一定存在于内存的一个连续部分中。但是,当您想将此类对象“传递”到持久层或另一种编程语言时,必须对构成 Java 对象的(字段)数据进行这种顺序表示。


推荐阅读