Java面试题更新 2026-08-05

在 Dubbo 框架中,可供开发者使用的序列化方案具体有哪些?请列举并简述各自适用的场景。

技术原理技术选型方案权衡Apache DubboJava

考察说明

考察对 Dubbo 序列化扩展机制及常见序列化方案的掌握程度。

回答思路

  1. 【回答框架 1】Dubbo 通过 SPI 机制支持多种序列化实现,常见包括 Hessian2、Fastjson、Kryo、FST、JDK 原生序列化等。默认序列化方式为 Hessian2,适用于跨语言、高性能传输场景。
  2. 【回答框架 2】Fastjson 基于 JSON 格式,可读性好,适合调试和与前端交互,但性能相对较低且存在安全漏洞风险。
  3. 【回答框架 3】Kryo 与 FST 均为高性能二进制序列化,适合对延迟和吞吐量要求较高的内部调用场景,但需注意兼容性和配置复杂度。
  4. 【回答框架 4】JDK 原生序列化使用简单,但效率低下且不支持跨语言,只适合本地测试或对性能不敏感的场景。
  5. 【回答框架 5】实际选用时需结合数据大小、网络带宽、性能要求、跨语言需求等因素综合评估。
  6. 【关键点 1】Dubbo 默认使用 Hessian2 序列化。
  7. 【关键点 2】支持 Fastjson、Kryo、FST、JDK 原生序列化等。
  8. 【关键点 3】性能与可读性通常成反比,需按场景选择。
  9. 【关键点 4】序列化方式可通过配置或 SPI 扩展自定义。
  10. 【易错点 1】不要一概而论说某序列化方式绝对最优,需结合具体场景评估。
  11. 【易错点 2】JDK 序列化性能低下且可能有安全风险,不适合生产环境高频调用。
  12. 【易错点 3】Kryo 等高性能序列化需注意类注册和兼容性问题。