zoukankan      html  css  js  c++  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值不同导致序列化失败。

    复盘

    1. 当出现问题时,一定要自己查看问题,确定原因,防止出现上述情况。
    2. 对象如果实现Serializable接口一定要写serialVersionUID字段,不实现可能添加字段时导致序列化失败同时遵循阿里巴巴代码规范对象添加字段时不应修改serialVersionUID
  • 相关阅读:
    windows系统使用sketch设计的设计稿
    移动端点击按钮复制链接
    设置display:inline-block 元素间隙
    修改url中参数值
    fiddler主要图标说明
    fiddler抓包工具
    数据库删除
    having的用法
    left join on和where
    Statement和PreparedStatement有什么区别?哪个效率高?
  • 原文地址:https://www.cnblogs.com/ingxx/p/13721492.html
Copyright © 2011-2022 走看看