当前位置: 首页 > news >正文

市桥有经验的网站建设wordpress图片搬家

市桥有经验的网站建设,wordpress图片搬家,微信小程序流量变现推广方法,做网站优化的弊端本篇文章主要介绍了两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)#xff0c;主要涉及到两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)方面的内容#xff0c;对于两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)感兴趣的同学可…本篇文章主要介绍了两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)主要涉及到两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)方面的内容对于两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)感兴趣的同学可以参考一下。 近日做一些性能优化工作在挑选JSON类库时发现除了一般常用的JSON-lib外还有一款号称性能最快的JSON处理器Jackson于是用上了刚学会的JMeter对这两个类库进行了简单的性能对比。   Jacksonhttp://jackson.codehaus.org/ JSON-libhttp://json-lib.sourceforge.net/ Gsonhttp://code.google.com/p/google-gson/   测试环境   1、工作电脑Intel双核E8400 共6GHz内存4GBWinXP 2、JSON-lib用最新的JDK15GSON版本是最新的v1.4Jackson也是最新的v1.5.5JDK-v1.6.0_20JMeter-v2.4 3、测试时不开启任何无关进程每完成一项测试后关闭JMeter整理内存后再进行下一项测试每项测试运行3次取平均值 4、JSON转Java Bean意为将JSON格式转换成Java类这个类内包括Map、List、Date、Integer/Long/Double、String等类型的属性Java Bean转Json则同理。另外两者互转每次转换的数据都是随机生成   测试结果   * 吞吐量的值越大越好总耗时的值越小越好   JSON转Bean5个线程并发约200字节对象1千万次转换    JacksonJSON-libGsonTPS64113.78067.413952.8总耗时(秒)1551238700  Bean转JSON5个线程并发约200字节对象1千万次转换      JacksonJSON-libGsonTPS5480215093.217308.2总耗时(秒)181661560  JSON转Bean5个线程并发约2K对象1千万次转换    JacksonJSON-libGsonTPS373142406.93657.50总耗时(秒)26741202720  Bean转JSON5个线程并发约2K对象1千万次转换    JacksonJSON-libGsonTPS30922.24274.84977.00总耗时(秒)32223202000  测试总结   1、显而易见无论是哪种形式的转换Jackson Gson Json-lib。      Jackson的处理能力甚至高出Json-lib有10倍左右 2、JSON-lib似乎已经停止更新最新的版本也是基于JDK15而Jackson的社区则较为活跃 3、在测试性能的同时又以人肉方式对这三个类库转换的正确性 进行了检查 三者均达100%正确  4、JSON-lib在转换诸如Date类型时较为累赘如以下是两者的转换结果 JSON-lib {brithday:{date:17,day:2,hours:9,minutes:24,month:7,seconds:26,time:1282008266398,timezoneOffset:-480,year:110}} Jackson {brithday:1282008123101} 5、JSON-lib依赖commons系列的包及 ezmorph包共 5个而Jackson除自身的以外只依赖于commons-logging 6、Jackson提供完整基于节点的Tree Model以及完整的OJM数据绑定功能。   Jackson使用示例   JacksonMapper 创建为饿汉式单例模式 Jackson用于转换的核心类ObjectMapper无需每次都new一个object官网上的一句话can reuse, share globally   Java代码   /**  * author xuanyin  *   */  public class JacksonMapper {        /**      *       */      private static final ObjectMapper mapper  new ObjectMapper();        /**      *       */      private JacksonMapper() {        }        /**      *       * return      */      public static ObjectMapper getInstance() {            return mapper;      }    }     JSON转Bean   Java代码   ......  String json  ...;  ObjectMapper mapper  JacksonMapper.getInstance();  YourBean bean  mapper.readValue(json, new YourBean().getClass());  ......     Bean转JSON   Java代码   ......  YourBean bean  new YourBean();  ......  ObjectMapper mapper  JacksonMapper.getInstance();  StringWriter sw  new StringWriter();  JsonGenerator gen  new JsonFactory().createJsonGenerator(sw);  mapper.writeValue(gen, bean);  gen.close();  String json  sw.toString();  ......     * 上面两段代码中的YourBean当然也可以是Java的基本类型               近日做一些性能优化工作在挑选JSON类库时发现除了一般常用的JSON-lib外还有一款号称性能最快的JSON处理器Jackson于是用上了刚学会的JMeter对这两个类库进行了简单的性能对比。   Jacksonhttp://jackson.codehaus.org/ JSON-libhttp://json-lib.sourceforge.net/ Gsonhttp://code.google.com/p/google-gson/   测试环境   1、工作电脑Intel双核E8400 共6GHz内存4GBWinXP 2、JSON-lib用最新的JDK15GSON版本是最新的v1.4Jackson也是最新的v1.5.5JDK-v1.6.0_20JMeter-v2.4 3、测试时不开启任何无关进程每完成一项测试后关闭JMeter整理内存后再进行下一项测试每项测试运行3次取平均值 4、JSON转Java Bean意为将JSON格式转换成Java类这个类内包括Map、List、Date、Integer/Long/Double、String等类型的属性Java Bean转Json则同理。另外两者互转每次转换的数据都是随机生成   测试结果   * 吞吐量的值越大越好总耗时的值越小越好   JSON转Bean5个线程并发约200字节对象1千万次转换    JacksonJSON-libGsonTPS64113.78067.413952.8总耗时(秒)1551238700    Bean转JSON5个线程并发约200字节对象1千万次转换    JacksonJSON-libGsonTPS5480215093.217308.2总耗时(秒)181661560    JSON转Bean5个线程并发约2K对象1千万次转换    JacksonJSON-libGsonTPS373142406.93657.50总耗时(秒)26741202720    Bean转JSON5个线程并发约2K对象1千万次转换    JacksonJSON-libGsonTPS30922.24274.84977.00总耗时(秒)32223202000    测试总结   1、显而易见无论是哪种形式的转换Jackson Gson Json-lib。      Jackson的处理能力甚至高出Json-lib有10倍左右 2、JSON-lib似乎已经停止更新最新的版本也是基于JDK15而Jackson的社区则较为活跃 3、在测试性能的同时又以人肉方式对这三个类库转换的正确性 进行了检查 三者均达100%正确  4、JSON-lib在转换诸如Date类型时较为累赘如以下是两者的转换结果 JSON-lib {brithday:{date:17,day:2,hours:9,minutes:24,month:7,seconds:26,time:1282008266398,timezoneOffset:-480,year:110}} Jackson {brithday:1282008123101} 5、JSON-lib依赖commons系列的包及ezmorph包共5个而Jackson除自身的以外只依赖于commons-logging6、Jackson提供完整基于节点的Tree Model以及完整的OJM数据绑定功能。   Jackson使用示例   JacksonMapper 创建为饿汉式单例模式 Jackson用于转换的核心类ObjectMapper无需每次都new一个object官网上的一句话can reuse, share globally Java代码 /**   * author xuanyin   *    */  public class JacksonMapper {         /**       *        */      private static final ObjectMapper mapper  new ObjectMapper();         /**       *        */      private JacksonMapper() {         }         /**       *        * return       */      public static ObjectMapper getInstance() {             return mapper;       }     }    JSON转Bean Java代码 ......   String json  ...;   ObjectMapper mapper  JacksonMapper.getInstance();   YourBean bean  mapper.readValue(json, new YourBean().getClass());   ......     Bean转JSON Java代码 ......   YourBean bean  new YourBean();   ......   ObjectMapper mapper  JacksonMapper.getInstance();   StringWriter sw  new StringWriter();   JsonGenerator gen  new JsonFactory().createJsonGenerator(sw);   mapper.writeValue(gen, bean);   gen.close();   String json  sw.toString();   ......     * 上面两段代码中的YourBean当然也可以是Java的基本类型   文章不足之处欢迎大家留言指正)       11 楼 wangym 2010-08-18   引用 wangliang_5290 写道 wangym 写道 wangliang_5290 写道 我碰到一个问题要将字符串String json {a:1, b:2};转化为 Map, 如果用Jackson的话对字符串格式有严格要求必须为String json {\a\:1, \b\:2};否则报错觉得不爽。不知道是对Json了解不够呢 还是Jackson就是这么要求的 在JAVA里定义这样一个String自然是需要\给后面的引号进行转义无论是用哪个JSON类库都一样但在实际应用中没有这个问题。 实际应用中json串不一定是在java中定义的有可能是从页面传过来的java只是负责解析。我以前用的是json-lib没有问题 但是换成jackson后出现这个问题。不知道是不是对jackson的API研究不够1.json-lib 以下写法没有问题 Java代码 Map map  JSONObject.fromObject({a:1, b:2});   2.jackson 以下写法报异常 Java代码 Map map  new ObjectMapper().readValue({a:1, b:2}, HashMap.class);   必须写成 Java代码 Map map  new ObjectMapper().readValue({\a\:1, \b\:2}, HashMap.class);   不好意思一开始没明白你的意思请开启支持字段名称不带引号的转换模式,默认是关闭的.即将上面报异常的那句改成这样 Java代码 Map map  new ObjectMapper().configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true).readValue({a:1, b:2}, HashMap.class);     24 楼 wangym 2011-01-18   引用 JSON转POJO时若JSON中的某个字段在POJO中未定义在默认情况下会抛异常转换失败只要增加这个配置   Java代码 Feature.FAIL_ON_UNKNOWN_PROPERTIES, false  就可以转换正常即只转换定义的字段未定义的字段忽略。转载于:https://www.cnblogs.com/xujishou/p/6929802.html
http://wiki.neutronadmin.com/news/318147/

相关文章:

  • 网站认证打款怎么做分录wordpress增加互动
  • 重庆seo整站优化服务上海公司核名查询
  • 哪个网站可以自己做名片淮南电商网站建设价格
  • linux国外网站吗房地产最新消息是涨还是跌
  • 如何做网站微信支付中小学生做的网站
  • 哪些网站做的最有特色陕西住建电子证书查询
  • 网站开发与维护的工作内容设计教学网站推荐
  • 字体设计欣赏网站商丘市住房和城乡建设局网站
  • 峰峰专业做网站wordpress主页导航
  • 做网站用方正字体可以额的去香洲会变黄码吗
  • 电子网站手机网站开发c
  • 杭州网站开发公司排名网站展现形式
  • wordpress建站是什么vi公司设计包括哪些
  • 房地产网站建设方案建设英文网站要求
  • 如何做网站方案网站制作怎么做下拉菜单
  • 做外贸必须用的社交网站重庆人居建设集团网站
  • 舟山网站seo提供网站建设框架
  • 网站设计结果网站页面下载
  • 微信导航网站模板湖南招聘信息网官网
  • 参考消息官方网站公司开发个网站有哪些
  • 诸暨做网站广告的电话怎么样做网站的目录结构
  • 设计师网站pintsetwordpress加音乐
  • 网站建设软文网站和h5
  • 综合电商网站建设需求文档泰安人才招聘信息网
  • 青岛网站制作哪里有wordpress主题 儿童
  • 做网站用啥软件wordpress注美化
  • 返利系统网站开发湖南营销型网站建设企业
  • 网站没被收录什么原因旅游网站设计代码html
  • 网站建设新趋势企业服务账号怎么查询
  • 西安网站建设选任我行网络下载安装app应用