Gson转换字符串为对象慢的问题

前言:

  1. 今天有客户反馈,http请求很慢,分析发现使用Gson将字符串转换成对象时竟然花了将近1s,我们的类层级嵌套复杂、变量定义比较多。但每次传递过来字段其实只有很少一部分,结果导致白白耗时。因此最好不要使用复杂嵌套类。
  2. 但我们这个类使用的地方比较多,贸然修改会导致新的问题出现。后来通过下面的方法暂时解决了一下。

解决方法:

使用Alibaba的fastjson解决了一下,但并没有从根本上解决问题。对比之后发现使用Gsonfastjson消耗时间几乎一样。

但fastjson有缓存作用,第一次使用花1s,但第二次就只花10ms。
经测试半小时后请求仍然只花了10ms。主要应用进程不死,就不会花1s。

//使用Gson每次解析花近1s
new Gson().fromJson(json, Class.class);
//使用fastjson解析,第一次1s, 后面时间10ms
JSON.parseObject(son, Class.class)

转载请注明出处:http://www.wolfnx.com/2019/03/18/GsonFromJsonSlowly

作者 : wolfnx
邮箱 : wolfnx@outlook.com
邮箱2 : lostnx@gmail.com

Click Me