智能化下的产物,无人棋牌室
fastjson 1.1.48-android 发布,进一步提升在android环境下的性能,同时减少内存占用,加上Stream API,jar大小196k。
Bug Fixed
1.修复引起的字段类型为java.lang.Long大于Integer.MAX_VALUE后变负数的bug,这个bug是1.1.47.android优化引入的,之前不存在,所以使用1.1.47.android的同学建议尽快升级。 github issue 534。
2.修复WriteClassName时,无法处理Collections.emptyMap序列化后的json串, github issue 536
3.修复字符串长度为0时parseArray报错的问题,改为返回null。
4.回复JSONReader/JSONWriter等stream api,增强和之前版本的兼容性。
性能改进
1.重写SymbolTable类,结构更简单,并且达到之前版本一样的性能。
2.减少内存驻留和提升性能,
- 使用排序好的数组提到Map保存FieldDeserializer
- 减少不必要分配的对象
- 常量数组按需分配大小,包括SerializeWriter的specicalFlags_doubleQuotes/specicalFlags_singleQuotes/replaceChars。
3.进一步提升了序列化反序列化的性能。优化的办法包括:
- 手动内联减少方法调用
- 构造字符串类型的值时使用local buf,减少内存分配。
- 使用ThreadLocal缓存char[] buffer,不再使用SoftReference,减少调用层次。
下载地址
可以通过maven中央仓库下载,地址如下
http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.48.android/