最近我想找到一个POJO到JSON映射器并最终使用Jackson,因为它在大多数地方都是推荐的,但是当我刚做了一个小测试时我发现要序列化java对象,它甚至有2个属性需要平均时间 450ms
但如果我手动进行映射只需要 10ms ,则下面是我计算时间的简单代码。
public static void main(String[] args) throws Exception{
long time = new Date().getTime();
User user = new User();
user.set_id("100");
user.setName("testuser");
ObjectMapper mapper = new ObjectMapper();
StringWriter write = new StringWriter();
mapper.writeValue(write, user);
long endtime = new Date().getTime();
System.out.println("Spent Time : "+(endtime-time));
}
所以我的问题是我还应该使用Jackon吗?是我还没有理解的任何其他好处。我正在工作的笔记项目是spring和mongodb,我们的任务是开发REST服务,我们不希望特定的请求挂起不必要的时间。
答案 0 :(得分:2)
This benchmark result表明杰克逊在创建实例时非常缓慢。
要有效地使用Jackson库,您必须重复使用ObjectMapper
的单个实例。
如果每次使用时都实例化一类JSON库,我建议使用Gson作为基准测试结果显示。