java - 序列化和非序列化对象之间的区别?
问题描述
我试图理解序列化和反序列化在 Java 中的含义。
我猜我们用 Java 语言编写的每一件事都会在代码被编译并进入处理器执行时变成一组字节。编译后,一切都变成机器语言或字节。正确的 ..?
所以对象创建已经是一组位于内存中要工作的字节,那么序列化和非序列化术语对对象有什么特别的作用..?
我不清楚在计算机硬件中想象这两个术语..!
任何人都可以帮助..?
谢谢
解决方案
序列化是一种持久化机制。
您在运行时使用它将“内存中”对象转换为可以存储在文件或数据库中或可以通过某些网络发送的表示。
反序列化只是相反的操作:将“传输”表示转回“内存中”对象。
这样做的主要原因:它允许“内存中”的表示是有意义的。正如其中一条评论所述:Java 对象不一定存在于内存的一个连续部分中。但是,当您想将此类对象“传递”到持久层或另一种编程语言时,必须对构成 Java 对象的(字段)数据进行这种顺序表示。
推荐阅读
- javascript - 焦点边框颜色变化
- matlab - 在 MATLAB App Designer 中正确使用 uiwait 和 uiresume
- html - 如何在 Django 中编辑布尔字段
- vba - 打开一个新数据库并关闭旧数据库
- php - 如何为 Phinx 添加列字符变化(3)[]
- python - 有没有办法在给定的 pytorch 或 tensorflow 模型的推理过程中获得总的 Flops?
- android - Kotlin - Retrofit - rxjava3 - setImage 使用数据绑定 [已解决]
- python - 如何使用 python 从列表中读取数据并将特定值索引到 Elasticsearch 中?
- javascript - 传播一个可迭代的 ...obj[Symbol.iterator](...)
- git - 相同的 git rebases 产生不同的哈希值