Jackson中缓存不可变对象序列化结果的性能优化问询
使用场景
假设我有一个HTTP端点,会构造一个不可变对象,然后将该对象发送到多个接收端,比如多个消息代理、其他HTTP端点、文件等。
每次发送时,均使用Jackson对该不可变对象进行序列化。
问题
我是否认为如果Jackson具备以下能力,能带来显著性能提升?
- 识别(或被告知)该对象为不可变对象且需多次序列化
- 将首次序列化结果缓存为某种字节序列
- 在后续
write...调用中复用该字节序列
若确实存在性能收益,第二个问题是:Jackson或其他主流序列化框架是否提供此类优化?
思考
若该优化能提升性能,序列化框架原生支持会更理想。虽然我可以自行编写包装器并缓存结果,但会丢失发送函数调用的类型安全性。
我猜这仍存在难点,因为每个发送函数需使用同一个ObjectMapper(或至少同一个缓存)。
内容的提问来源于stack exchange,提问作者BPS
相关产品推荐
相关产品推荐

