2016-04-19 43 views
1

正如我们都知道java中的序列化是一种将对象状态写入字节流的机制。如果我们不在Java中序列化对象会发生什么?

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

它会给出错误吗?

谢谢

+9

*但是当对象没有被序列化并且在网络上传输对象的状态时会发生什么** **如何**? –

+1

http://stackoverflow.com/questions/447898/what-is-object-serialization – AdamSkywalker

+2

目前还不清楚你在这里问什么。你并不总是需要序列化/反序列化。如果你通过网络发送一个对象,那么它将被序列化以通过字节流发送它。这就是序列化的要点,正是这样才能通过网络发送。 – ManoDestra

回答

3

我们使用对象序列化主要有两个原因:
1.经由网络的通信
2.轻型持久化的对象

的档案在我回应什么错误你会得到,让我掏

为什么我们需要序列化?

这个的主要驱动因素是我们的网络基础设施和理解比特和字节而不是JAVA对象的硬件磁盘。序列化有助于将Java对象的图形转换为用于存储或传输的字节数组。所有这一切都是由于ObjectInputStream/ObjectOutputStream类,全保真元数据以及程序员通过使用Serializable标记接口标记其类来“选择加入”此过程的意愿。

如果您尝试通过网络发送非序列化的对象,会发生什么?

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

+0

非常棒..谢谢:) –

+0

显然,当你说'序列化'时,你都意味着'Serializable'。这不是这个意思。 – EJP

+0

很好的解释。 – Roxy

相关问题