2024年5月25日

倒腾了很长时间 突然发现的问题 ide提示改为toList() 我顺便就改过去了 但是实际业务中redis序列化会产生无法反序列化的问题 造成缓存挂壁 业务直接G

collect(Collectors.toList())不能缩写为.toList() 序列化会炸

问题解析:

这个问题其实跟代码本身没有直接关系,而是与序列化器的实现方式有关。在 Java 中,使用 Lambda 表达式时,由于 Lambda 表达式没有具体的类型信息,Java 编译器会根据上下文推断 Lambda 表达式的类型。在这种情况下,你使用了 Collectors.toList() 方法,它返回的是一个 List 接口的实现类,但具体的实现类类型由编译器根据上下文推断。

如果你的序列化器依赖于具体的类型信息来序列化对象,而你使用了 Lambda 表达式,并简写为 toList(),那么可能会导致序列化器无法正确地获取到类型信息,从而导致序列化失效。

解决这个问题的方法之一是明确指定 Lambda 表达式的类型。例如,你可以将 toList() 换成 Collectors.toList(),这样就会明确指定 Lambda 表达式的类型为 Collectors.toList() 返回的类型,从而保留了类型信息,使得序列化器能够正确地序列化对象。

学习redis问题记录的更多相关文章

  1. Redis入门学习(学习过程记录)

    Redis(入门笔记) 学习一个大的技术点,然后顺带着就把这个技术点的面试题给学习了. 学习完一个技术后,如果面试题还不能够解答的话,只能说明学的不精,需要查漏补缺. 下一个学习的方向:Redis-非 ...

  2. 学习Redis从这里开始

    本文主要内容 Redis与其他软件的相同之处和不同之处 Redis的用法 使用Python示例代码与Redis进行简单的互动 使用Redis解决实际问题 Redis是一个远程内存数据库,它不仅性能强劲 ...

  3. Redis学习——Redis事务

    Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 有关事务相关的概念和介绍,这里就不做介绍. 在学习Redis的事务之前,首先抛出一个面试的问题. 面试官:请问Redis ...

  4. Redis学习——Redis持久化之AOF备份方式保存数据

    新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...

  5. 深入学习Redis(1):Redis内存模型

    前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分. 我们使用Redis时,会接触Redis的5种对象类型(字符串 ...

  6. 深入学习Redis(5):集群

    前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化.主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡. Redis集群解决了上述问 ...

  7. 深入学习Redis(3):主从复制

    前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包括持久化.主从复制(及读写分离).哨兵和集群.其中持久化侧重解决的 ...

  8. 深入学习Redis(2):持久化

    前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化.复制(及读写分离).哨兵.以及集群. 本文将先说明上述几种技术分别解决了Redis高可 ...

  9. 【数据库开发】学习Redis从这里开始

    转载:http://www.epubit.com.cn/article/200 学习Redis从这里开始 本文主要内容 Redis与其他软件的相同之处和不同之处 Redis的用法 使用Python示例 ...

  10. 深入学习Redis主从复制

    一.主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从节点(slave):数据的复制是单向的,只能由主节点到从节点. 默 ...

随机推荐

  1. Android 通过odex优化提高首次开机速度

    背景 客户反馈说开机时间过长,需要优化. 原文:https://blog.csdn.net/croop520/article/details/73930184 介绍 现在很多Android都需要预装很 ...

  2. 在SMT32程序HEX文件中加入固件版本信息

    将固件版本信息定义成一个常量存放在程序中,需要的时候可以通过串口等接口查询代码版本信息,另一种,是利用编译器的语法,将固定的信息保存到某地. #define VERINFO_ADDR_BASE (0x ...

  3. B 站和小红书又又又崩了,罪魁祸首竟然又是他。。。

    大家好,我是凌晨. 今天上午10点左右,我打开B站发现无法刷新视频列表和评论区,收藏夹和弹幕也均不可用. 原以为是手机网络问题,换网络重启手机都还是不行,第一时间打开微博,果然,B站崩了的新闻荣登榜首 ...

  4. 2.3T NPU强势登场!NXP i.MX 8M Plus开启工业新篇章,14纳米!

                    更多产品详情以及购买咨询 可添加如下客服人员微信 (即刻添加,马上咨询) 更多i.MX 8M Plus产品资料 可长按二维码识别下载 如需选购,请登录创龙科技天猫旗舰店 ...

  5. 国芯新作 | 四核Cortex-A53@1.4GHz,仅168元起?含税?哇!!!

        获取更多T507全国产平台资料可在评论区留言或关注官方公众号~

  6. Linux-makefile命令后面的-j4 -j8是什么意思?

    其实是指在编译指定的文件时用多少个线程进行编程的意思~ 相关命令示例如下: make zImage -j8 make modules -j8 --------------------------- m ...

  7. [oeasy]python019_ 如何在github仓库中进入目录_找到程序代码_找到代码

    继续运行 回忆上次内容 上上次 真写了万行代码 这 万行代码 都是写在明面上的 这次 使用git命令 下载了 github上面的仓库       添加图片注释,不超过 140 字(可选)   下载仓库 ...

  8. oeasy教您玩转 linux 010212 管道 pipe

    上一部分我们都讲了什么? 牛说cowsay 牛可以有各种表情 可以自定义眼睛 可以变成各种别的小动物 可以说也可以想cowthink 我们也想让牛说出字符画的感觉 回顾字符画 下载figlet和toi ...

  9. [oeasy]python0015_十六进制_hexadecimal_字节形态_hex函数

    ​ 十六进制(hexadecimal) 回忆上次内容 上次数制可以转化 bin(n)可以把数字转化为 ​​2进制​ binary 接收一个整数(int) 得到一个二进制数形式的字符串 ​ 编辑 数字在 ...

  10. [oeasy]python0011_ 字符序号_ordinal_ord

    ​ 序号(ordinal) 回忆上次内容 ​hello world​​ 不是从来就有的 来自于​​unix​​和​​c​​ 虽然我们今天有各种先进的学习手段 最早的高级语言学习是从最早的那张打字机用纸 ...