【发布时间】:2019-11-17 02:07:18
【问题描述】:
我试图了解 Java 中的序列化和反序列化的含义。
我猜我们用 Java 语言编写的每件事都会在代码被编译并进入处理器执行时变成一组字节。编译后,一切都变成机器语言或字节。正确..?
所以对象创建已经是一组位于内存中待处理的字节,那么 Serialize 和 Non-Serialize 术语对对象有什么特别的作用.. ?
我不清楚在计算机硬件中想象这两个术语..!
谁能帮忙..?
谢谢
【问题讨论】:
-
为什么不赞成我的问题..?
-
序列化是指将一个对象转成 JSON 或 XML 等序列数据(字符串)。反序列化意味着将其从字符串转回对象
-
@jrswgtr,但是字符串和对象都已经是一组字节了..不是吗..?那为什么我们需要字符串而不是对象?
-
program 和 data 都采用字节的形式(从理解这一点开始)。 序列化是从已经运行的程序的角度来描述数据(对象)的。对象是由您的程序在运行时创建的。当这些对象以适合磁盘(或有时也是内存)的形式写入为字节时,它们被称为被序列化(并且当它们被读取这些字节为可供正在运行的程序使用的形式时被“反序列化”) )。
-
@Jon 说你想通过 HTTP 发送对象。然后你需要一个序列化的对象来做到这一点,因为 HTTP 不能处理对象,只能处理字符串
标签: java serialization deserialization