码迷,mamicode.com
首页 > 编程语言 > 详细

java反射性能与优化

时间:2017-01-19 13:59:02      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:protobuf   反序   json序列化   rpc   加载   基础   使用   对象   解析   

 在最近的计划中,打算看看在不使用google protobuf的情况下,在原有的采用jackson作为json序列化工具的基础上,是否可以实现进一步的性能优化。主要是针对list的情况。

测试的时候选择了一个50个字段的对象,采用50条记录的list作为例子。因为大部分还都是可控的系统rpc交互,所以测试的时候选择了将字段用逗号分隔的方式。

在反射机制中,Reflection和BeanInfo两种均作了测试,method/field都做了缓存的前提,结果中与原生jackson序列化、反序列化性能相差在20%以内,并无明显的提升。

同时,在测试中将class缓存后性能提升约10%,将setAccessible设置为true后性能提升也在10%左右。字符串的解析并没有太大的性能消耗,反而是invoke消耗了绝大部分的性能。

所以,至少就原生的Java反射机制而言,性能并没有明显的提升(当然,性能跟字段数还是有一定的关系,如果字段数较少、行数没有那么多,那么class每次加载的比例可能会增加)。

java反射性能与优化

标签:protobuf   反序   json序列化   rpc   加载   基础   使用   对象   解析   

原文地址:http://www.cnblogs.com/zhjh256/p/6306103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!