java序列化的问题_Java序列化引起的问题

是什么总加班

熬夜发版的一天,测试:“快来看看所有的商品信息都没法查看了”。“怎么会这样,我来看看”。

问题

“好像是Redis序列化问题,这次迭代把Redis链接工具换成了Jedis,由于原来存的是JSON格式,Jedis配置的JSON序列化好像跟spring-boot-starter-data-redis提供的序列化方式不一样“,一位开发说到

我尝试修改Jedis序列化方式后缓存序列化失败问题并没有解决。

这时时间已经过去了一小时。

“不对把日志发我我看一下”,过了一会,“不是JSON序列化问题,是Serializable序列化失败了吧”,我说到

“对。。。我好像把一些实现了Serializable接口的类添加了serialVersionUID”另一位开发说到

“emmmm早说呀”,知道原因后清除Redis缓存解决。

原因

这个问题在于原来配置的并不是JSON格式,而是使用JDK自带的序列化方式,而JDK自带的序列化方式会根据serialVersionUID来判断版本是否一致,原来默认生成的serialVersionUID和新配置的serialVersionUID值不同导致序列化失败。

复盘

当出现问题时,一定要自己查看问题,确定原因,防止出现上述情况。

对象如果实现Serializable接口一定要写serialVersionUID字段,不实现可能添加字段时导致序列化失败同时遵循阿里巴巴代码规范对象添加字段时不应修改serialVersionUID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值