繁体   English   中英

可序列化的类

[英]Serializable class

可序列化类的意义是什么? 据我了解,您可以通过网络发送对象,并且知道在两端该对象将被验证为正确的对象。 例如,如果我有一台具有可序列化类的服务器,并且想通过对象输出流将数据发送到应用程序,那么我可以在两端使用具有相同UID的可序列化类来验证该对象是否合法且未被黑客入侵? 如果我错了,请纠正我,但这就是我了解可序列化接口上的文档的方式

安全性和序列化都不同。

Java序列化是将对象转换为字节。 期。

可选的UID字段用于确保序列化和反序列化的对象(结构)版本匹配。

序列化对于将对象转换为文件并在以后稍后将其重新加载回对象很有用,当然您也可以通过网络发送该文件(流)。

您是正确的,但是您可以更广泛地考虑它。

  • 您可以将可序列化的类转换为字节

  • 您可以将这种类型的对象添加到可序列化的集合中,并且它将被正确地序列化(例如,您可以列出它们,并在列表可序列化的情况下序列化该列表)

顺便说一句,serialVersionUID是可选的。 它会自己生成一个,尽管它会更脆弱-例如,如果您更改方法签名,jvm会将其转换为更改的签名,并认为该类现在与以前的序列化版本不兼容,即使您没有更改数据字段。 如果创建自己的机制,则实际上是在重载此机制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM