改进fastjson的WriteClassName特性时的输出数据容量

作者:无名 - 开源软件 -

在使用fastjson输出省市县三级信息时,数量高达300K,由于我们的数据结构相同,因此每个类都输出了完整的类名称

因此,是否可以采用索引方式用简单的数字引用达到减轻很长类名称的作用呢?

因此,我们设计一种简单类名称扩展

    1."@type":"com.hd.doctor.mobile.api.DictionaryBean#1"表示一个完整的类名称并且带有一个1的索引号,表示该类名被索引化

    2. "@type":"#1" 则表示该类名称引用之前被索引化的类名称,从而找到类名称com.hd.doctor.mobile.api.DictionaryBean

 解决方案:

  1. SerilaizeFeature 中添加WriteClassNameRef特性,该特性仅仅在WriteClassName支持的情况下才有效

  2. 序列化时,判断是否支持WriteClassRef特性,是则判断该类名是否已经被索引,是则直接输出#{索引},否则输出类名+#{新索引}

    3.反序列化时,以相反的角度判断类名和处理

经过测试,数据从300k降低到了173k



IT人知识库 原文链接:http://www.itpeo.net/15310/3488253.html





慎用异常(Exception)

异常对性能不利。 1.抛出异常首先要创建一个新的对象。 2.Throwable接口的构造函数调用名为fil... ...

map的用法(初级)

C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。本... ...

memcmp与strcmp区别

一、memcmp含义 Compare characters in two buffers. i... ...

POI与JXL写Excel的性能对比

         在java项目中... ...

编写框架代码的注意事项

错误处理: 对于运行时可能出现的环境运行错误,在框架内部不要用try完全处理掉,而是要显示向外部... ...

怎样在线程外部控制线程运行

一个在外部控制线程运行的一个论证实例。标准的java因为安全问题取消了stop等控制方法,我想看看能不能自己把它们... ...

推荐给每个找工作的IT毕业生--打鸡血书

本文忘了在哪里下载的了,转过来与各位共享 一、 求职历程总结 2007年1月10日,随着在三方协... ...

linux(ubuntu)下安装nginx 笔记

这两天突然想在ubuntu下 安装nginx模拟真实环境,第一次安装还真是一个充满奇异的旅程,走了很多歪路但也从中... ...

Unix crontab命令 添加定时任务

Unix crontab命令 添加定时任务 使用crontab命令要求root身份1. cr... ...

rfedfre

随手写了个android应用

最近比较闲,就边学边写,做了个android下的 dota 攻略型应用。 目前还没发布到市场上,也没有加广告,... ...

mongodb建立索引时怎么指定超时时间

mongodb自从2.2版本起为索引建立了TTL(time to live),可以指定一个类型为日期的字段为文档的... ...

JS日期格式化(从YYYY-MM-DD到日期类)

字符串格式日期利用阅读,但不利于标准化存储,可以通过以下函数转化为Javascript日期类: // date... ...

(翻译)H5数据流消息推送机制Event Source

关于数据推送,传统方法是前端(不)定时发送HTTP请求进行轮询。但这种方式非常的损耗服务器资源,不适合访问量高的情... ...

linux命令后台运行技巧整理(1)

所有内容搜集于网络,部分做了简单翻译 Linux提供了fg和bg命令,让你轻松调度正在运行的任务。 假设你... ...

rfedfre

基于标签方式的工作流启动及任务执行开发说明

基于现在的系统的整合需求,本系统提供基于标签的工作流整合方式,工作流的启动及执行下一步时,均需要通过可以通... ...

rfedfre

厦门 测试夹具

厦门 测试夹具    我司专\业制\作测试工装夹具治具、过锡炉回流焊治具、老化架、热... ...

Guile资源站点

官方站点:http://www.gnu.org/software/guile/ http://com... ...

rfedfre

Linux网络编程书籍推荐

首先要说讲述计算机网络和TCP/IP的书很多。   先要学习网络知识才谈得上编程 讲述计算机... ...

rfedfre

SDN是什么?

SDN到底是什么?虽然这个概念已经被炒了很多年,但还没有人对其给出一个明确的概念。在互联网上也涌现出了很多关于SD... ...

rfedfre

《只是为了好玩:Linux之父林纳斯自传》读后感

2014年10月购买。 linus唯一一本口述自传,国庆期间读完。 老家伙废话... ...