加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java序列化对象与非序列化对象

发布时间:2020-12-15 04:14:02 所属栏目:Java 来源:网络整理
导读:1)是否可以通过网络发送非序列化 java对象以由另一个JVM执行或存储在本地文件存储中以恢复数据? 2)序列化和存储java对象与存储java对象而不进行序列化有什么区别? 解决方法 序列化是一种将java对象表示为一系列字节的方法.它只是一种格式而已. “内置”jav
1)是否可以通过网络发送非序列化 java对象以由另一个JVM执行或存储在本地文件存储中以恢复数据?
2)序列化和存储java对象与存储java对象而不进行序列化有什么区别?

解决方法

序列化是一种将java对象表示为一系列字节的方法.它只是一种格式而已.
“内置”java序列化是一个类,它提供用于将java对象转换为一系列字节的API.而已.当然,反序列化是一个“补充”过程,允许将此二进制流转换回对象.

序列化/反序列化本身与“通过网络发送”事情无关.它只是方便发送一个二进制流,可以从具有序列化的对象创建.

更有甚者,有时内置序列化不是获取二进制流的最佳方式,因为有时可以使用较少的字节来转换对象.

因此,您可以使用自定义协议,为序列化提供自己的自定义(例如,Externalizable)

甚至使用像Apache Avro这样的第三方库

我认为这有效地回答了你的两个问题:

>如果需要,您可以自行将非序列化对象(我猜是那个没有实现“Serializable”接口的对象)转换为字节序列(字节流),然后通过网络发送,存储在二进制文件中文件,无论如何.
当然,您必须了解如何阅读此二进制格式以进行转换.
>由于序列化只是一种转换协议而不是“存储相关的东西”,答案是显而易见的.

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读