Jackson第三篇【ObjectMapper的并发编程】
来源:互联网 发布:淘宝管控记录有影响吗 编辑:程序博客网 时间:2024/05/29 08:51
我把咱们第二篇文章里面的TestVo转换成JsonCommonUtil.getMapperInstance(false);方式执行5次 平均耗时为210毫秒,把false改成true以后9991.6毫秒
这里我不是想测试它的性能(后面我会写一篇专门测试几种JSON类库性能的文章届时应该会涉及到json-lib ,jackson,Gson……等常用类库 ),我的机器也不给力。我主要是想说明的是每次new ObjectMapper() 和 全局使用一个 性能上相差了 大概47 倍。在这个时间就是金钱的世界47倍是什么概念,一个系统得转换多少次啊!
那大家可能说了你直接全局唯一是的,何必浪费时间来写一篇文章呢。别急,我来给大家解释一下!毕竟它是全局的那么在多线程情况下,并发情况下 它会是什么情况呢?会不会弄乱我们的数据?数据是万万不能乱的,你有1000W存款银行系统乱了一下 给你少个0 你会哭的很有节奏!
接下来看下jackson官方文当对ObjectMaper的解释:Jackson's org.codehaus.jackson.map.ObjectMapper "just works" for mapping JSON data into plain old Java objects ("POJOs").引自:http://wiki.fasterxml.co/JacksonInFiveMinutes
- ObjectMapper mapper = new ObjectMapper();//can reuse,share globally
卖弄一下我可怜的英语: ObjectMapper 只用作把Json映射到PoJo ,可用在全局重用。
既然人家说了只是把Json映射到PoJo 可以全局使用,那咱们还有必要研究吗?我感觉有必要!因为我现在不知道他是否是线程安全的,毕竟数据第一。那么接下来咱们就一起测试一下极端情况下他是否是线程安全的。
我的测试思路是这样的:可以使用多个线程 线程1Mapper已经映射某一个实体的时候让线程一sleep 然后线程二执行。看看线程2转换的结果是否正确,虽然有点不准确但是也能大概看出来是否是线程安全的。因为代码太多目前正在整理,等整理完毕我贴上代码。
- Jackson第三篇【ObjectMapper的并发编程】
- Jackson第三篇【ObjectMapper的并发编程】
- Jackson - ObjectMapper
- Jackson 高性能的JSON处理 ObjectMapper
- Jackson 高性能的JSON处理 ObjectMapper
- Jackson 高性能的JSON处理 ObjectMapper
- Jackson 高性能的JSON处理 ObjectMapper
- Jackson 高性能的JSON处理 ObjectMapper
- java中Jackson库的ObjectMapper类
- 使用jackson的ObjectMapper json转object
- Jackson 高性能的JSON处理 ObjectMapper
- Jackson的ObjectMapper类简单使用
- Jackson ObjectMapper解析
- Jackson ObjectMapper类
- SpringBoot 定制Jackson ObjectMapper
- Jackson框架提供的JsonGenerator ObjectMapper以及JSONObject 、JSONArray学习
- Jackson框架提供的JsonGenerator ObjectMapper以及JSONObject 、JSONArray学习
- 转载 Jackson 高性能的JSON处理 ObjectMapper
- Centose5忘记登陆密码
- 函数返回值—返回局部变量
- sql 汉字转拼音函数
- Jackson第二篇【从JSON字符串中取值】
- Android 属性系统<JAVA & C++>
- Jackson第三篇【ObjectMapper的并发编程】
- GridView实现自动编号
- Linux学习笔记
- 关于在64位上报本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序的错误解决方法
- iOS 5系统下电池不给力?Windows 8笑而不语
- 正则表达式
- 动态链接库*.so的编译与使用
- [EDI]EDI的报文标准和代码标准
- Gvim移动命令