众所周知,Java 中的序列化是一种将对象的状态写入字节流的机制。
主要用于通过网络发送对象的状态。但是当对象未序列化并通过网络发送时会发生什么。
会报错吗?
谢谢
最佳答案
我们使用对象序列化主要有两个原因:
1. 网络通讯
2. 轻量级持久化——对象的归档
在我回应你会遇到的错误之前,让我先挖一下
为什么我们需要序列化?
这方面的主要驱动因素是我们的网络基础设施和了解位和字节但不了解 JAVA 对象的硬件磁盘。序列化有助于将 Java 对象图转换为字节数组以供存储或传输。所有这一切的发生都是由于 ObjectInputStream/ObjectOutputStream 类、完全保真元数据以及程序员通过使用可序列化标记接口(interface)标记他们的类来“选择加入”此过程的意愿。
如果您尝试通过网络发送非序列化对象会怎样?
遍历图时,可能会遇到不支持Serializable接口(interface)的对象。在这种情况下,将抛出 NotSerializableException 并将标识不可序列化对象的类。
关于java - 如果我们不在 Java 中序列化对象会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719555/