FastJson对于Java程序员来说肯定不会陌生,正如它的名字一样,他的特点就是快,那么阿里巴巴的FastJson、开源的Jackson、Google的Gson各有什么特点呢?
1.FastJson,不需要依赖额外的jar包,提供静态方法,调用简单方便,而且速度在三者之中相对最快(查阅资料的发现有人说,在反序列化时,json字符串较大,反序列速度略低于Jackson),但与Jackson差不了多少。
2.开源的Jackson,所依赖的jar包较少,但是使用时需要实例化,调用繁琐,可以在使用的时候进行封装,方便调用。
3.Google的Gson,不需要依赖额外的jar包,目前功能最全,最稳定,但是性能差些。
Fastjson为了提升性能,在ThreadLocal中缓存了char[] buffer,这样避免分配内存和gc的开销。但是如果碰到了大的json(比如10M这样的),就会占用大量的内存,而且以后都是处理小json了内存占用也回不来。
Jackson有灵活的API,可以很容易进行扩展和定制,而且很多时候需要的模块都已经有人提供了。
至于到底选哪个,得结合实际业务和使用场景,例如在交易场景下,并发搞,报文相对简单,且大小不会相差太多,此时使用FastJson仅仅调用序列化和反序列化足矣。
FastJson那些事儿
最新推荐文章于 2024-01-05 16:52:11 发布