java - 如果我们不在 Java 中序列化对象会发生什么?

标签 java serialization

众所周知,Java 中的序列化是一种将对象的状态写入字节流的机制。

主要用于通过网络发送对象的状态。但是当对象未序列化并通过网络发送时会发生什么。

会报错吗?

谢谢

最佳答案

我们使用对象序列化主要有两个原因:
1. 网络通讯
2. 轻量级持久化——对象的归档

在我回应你会遇到的错误之前,让我先挖一下

为什么我们需要序列化?

这方面的主要驱动因素是我们的网络基础设施和了解位和字节但不了解 JAVA 对象的硬件磁盘。序列化有助于将 Java 对象图转换为字节数组以供存储或传输。所有这一切的发生都是由于 ObjectInputStream/ObjectOutputStream 类、完全保真元数据以及程序员通过使用可序列化标记接口(interface)标记他们的类来“选择加入”此过程的意愿。

如果您尝试通过网络发送非序列化对象会怎样?

遍历图时,可能会遇到不支持Serializable接口(interface)的对象。在这种情况下,将抛出 NotSerializableException 并将标识不可序列化对象的类。

关于java - 如果我们不在 Java 中序列化对象会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719555/

相关文章:

java - Netty IO发送消息给客户端

java - 可序列化在 Java 中如何工作?

C# - Web API - 将枚举序列化为带空格的字符串

java - 具有相同serialversionuid的不同类

python - 使用请求数据覆盖序列化程序,包括缺少键的空值

java - 如何在Java中取消鼠标点击事件

java - Java Swing 中的 AccessibleContext 有什么用?

java - 数字格式异常 - 使用 parseInt 进行转换

json - Twitter 的 WCF REST JSON 集合为空

java - 在不关闭连接的情况下根据请求将数据从服务器推送到客户端?