前言:
- 今天有客户反馈,http请求很慢,分析发现使用Gson将字符串转换成对象时竟然花了将近1s,我们的类层级嵌套复杂、变量定义比较多。但每次传递过来字段其实只有很少一部分,结果导致白白耗时。因此最好不要使用复杂嵌套类。
- 但我们这个类使用的地方比较多,贸然修改会导致新的问题出现。后来通过下面的方法暂时解决了一下。
解决方法:
使用Alibaba的fastjson解决了一下,但并没有从根本上解决问题。对比之后发现使用Gson和fastjson消耗时间几乎一样。
但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