IDEA类实现序列化接口自动生成serialVersionUID

IDEA类实现序列化接口自动生成serialVersionUID

在编写类的时候,有时候会需要实现序列化接口,序列化的作用是就是可以把对象存到字节流,然后可以恢复。所以你想,如果你的对象没实现序列化怎么才能进行网络传输呢,要网络传输就得转为字节流,所以在分布式应用中,你就得实现序列化,如果你不需要分布式应用,那就没那个必要实现序列化。

在IDEA编译器中,默认是不会自动生成serialVersionUID的,需要在设置里进行设置。

下面就截个图展示一下怎么设置,其实很简单,打开setting,然后如下图,勾选后点击 “OK”
在这里插入图片描述
然后可以重启一下IDEA(有些版本不需要重启)在实现序列化接口的类里面,将光标放在类名上然后按下Alt+Enter就会有提示,或者点击类名最左边那个黄色灯泡也行,然后点击Add"serialVersionUID" field 就行了。

在这里插入图片描述

为什么要实现序列化接口呢

  1. 存储对象在存储介质中,以便在下次使用的时候,可以很快捷的重建一个副本。
  2. 便于数据传输,尤其是在远程调用的时候

什么时候要序列化

首先,序列化的目的有两个,第一个是便于存储,第二个是便于传输。我们一般的实体类不需要程序员再次实现序列化的时候,请想两个问题:第一:存储媒体里面,是否是有其相对应的数据结构?第二:这个实体类,是否需要远程传输(或者两个不同系统甚至是分布式模块之间的调用)?

序列化操作用于存储时,一般是对于NoSql数据库,而在使用NoSql数据库进行存储时,用“freeze”这个说法来理解是再恰当不过了,在NoSql数据库中,找不出个varchar,int之类的数据结构,但我们又确实需要进行存储,那么,此时程序员就需要将对象进行序列化了!!!

也就是说需要或者可能需要被远程调用,这就是序列化便于传输的用途

我个人对于序列化的理解就这么多,参照了网上一些资料的,在有不足的地方,还望各位高手指点!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值