我试图了解Java中的序列化和反序列化的含义。
我想我们用Java语言编写的每件事都会在代码被编译并进入处理器以执行时变成字节集。编译后,所有东西都变成机器语言或字节。正确..?
因此,对象创建已经是要在内存中工作的一组字节,那么“序列化”和“非序列化”术语对对象有什么特殊作用..
我不清楚在计算机硬件中是否可以想象这两个术语。
任何人都可以帮助..吗?
谢谢
答案 0 :(得分:3)
序列化是一种持久性机制。
您可以在运行时使用它来将“内存中”对象转换为表示形式,该表示形式可以存储在文件或数据库中,也可以通过某些网络发送。
反序列化只是相反的操作:将“传输”表示形式转换回“内存中”对象。
主要原因是:它允许“内存中”表示形式有意义。正如评论之一所概述:Java对象不一定存在于内存的一个连续部分中。但是,当您要将此类对象“传递”到持久层或另一种编程语言时,必须具有构成Java对象的(字段) data 的此类顺序表示形式。