Jackson第三篇【ObjectMapper的并发编程】

本文分析了Jackson ObjectMapper在多线程环境下的性能和安全性。通过对比new ObjectMapper()与全局实例的性能差异,指出全局使用可能导致的潜在问题。尽管Jackson官方建议ObjectMapper可全局重用,但作者仍对其线程安全性进行测试,以确保数据不会因并发而混乱。测试方法涉及多线程同步,以观察不同线程执行转换操作时的结果准确性。
摘要由CSDN通过智能技术生成
 前两篇文章咱们一起学习了一下,Jackson的基本使用方法还记得第一篇文章我获得一个ObjectMapper对象整得那么麻烦 。还用用单例模式来获取为什么不直接new?先看一个数据吧。

   我把咱们第二篇文章里面的TestVo转换成JsonCommonUtil.getMapperInstance(false);方式执行5次  平均耗时为210毫秒,把false改成true以后9991.6毫秒

   这里我不是想测试它的性能(后面我会写一篇专门测试几种JSON类库性能的文章届时应该会涉及到json-lib ,jackson,Gson……等常用类库 ),我的机器也不给力。我主要是想说明的是每次new ObjectMapper() 和 全局使用一个 性能上相差了 大概47 倍。在这个时间就是金钱的世界47倍是什么概念,一个系统得转换多少次啊!

  那大家可能说了你直接全局唯一是的,何必浪费时间来写一篇文章呢。别急,我来给大家解释一下!毕竟

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值