• 文库
  • 字符
  • 转换
  • 加密
  • 网络
  • 更多
    图表
    数学
    坐标
    图片
    文件
  • 文库
    字符
    转换
    加密
    网络
    更多
    图表
    数学
    坐标
    图片
    文件
logo 在线工具大全

HSF 序列化不可变集合类型问题原因分析

出处: mp.weixin.qq.com

本文分析了在使用 HSF 服务时,因使用 Java 9 的不可变集合(如 Set.of())作为参数导致服务端反序列化失败的问题。根本原因在于 HSF 默认使用的 Hessian2 序列化机制不支持 Java 默认序列化中通过 writeReplace 和 readResolve 实现的不可变集合序列化逻辑:HSF 仅序列化非 transient 字段,而 CollSer 中存储元素的 array 字段为 transient,未被正确序列化,导致反序列化时 array 为 null,抛出 InvalidObjectException: null array 异常。最终解决方案是避免使用不可变集合,改用可变集合(如 HashSet)。

查看原文 10 技术 lddgo 分享于 2025-08-29