Google Protocol Buffer
Google Protocol Buffer
Protocol Buffers 是 Google 的一种语言无关、平台无关的可扩展机制,用于序列化结构化数据。
优点
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比统的 XML表示高效短小得多。
虽然是二进制数据格式,但并没有因此变得复杂,可以很方便的对...
2018-07-20 01:24:03 |
Tool
Json 之 JsonIter
JsonIter
jsoniter(json-iterator)是一款快且灵活的 JSON 解析器,同时提供 Java 和 Go 两个版本。
从 dsljson 和 jsonparser 借鉴了大量代码。
性能对比
主流的 JSON 解析器是非常慢的。
Jsoniter Java 版本可以比常用的 jackson/gson/fastjson 快 3 倍。
如果你需要处理大量的 J...
2018-07-20 01:24:03 |
Java
Json 之 Jackson
jackson 入门例子
简单的 Jackson 入门示例
Maven 依赖
添加 Jackson 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
...
2018-07-20 01:24:03 |
Java
Json 之 Gson
GJson
Gson 是一个由 Google 开发的 Java 库,用于将 Java 对象序列化成 JSON 字符串,以及将 JSON 字符串反序列化成 Java 对象。
它支持广泛的数据类型,包括基本数据类型、集合、泛型、枚举等。Gson 以其简单易用和高性能而广受欢迎。
以下是 Gson 的一些主要特性:
简单性:Gson 提供了一个非常简洁的 API,使得序列化和反序列化...
2018-07-20 01:24:03 |
Java
Json 之 FST
fast-serialization
简介
FST 是一个快速的 Java 序列化替代库。
特性
速度提升高达 10 倍,100% 兼容 JDK 序列化的替代品(好吧,可能是 99%)。例如:1.8 版引入的 Lambda 序列化立即生效。
自 2.17 版起兼容 Android(在服务器和客户端上使用 FSTConfiguration.createAndroidDefau...
2018-07-20 01:24:03 |
Java
FastJSON 异常报错 ConcurrentModificationException
异常原因
如果在使用Fastjson和HashMap时遇到了ConcurrentModificationException,意味着在迭代HashMap时,它正在被并发地修改。
这个异常是Java中的”快速失败”迭代器在检测到集合在迭代过程中结构被修改时抛出的。
Fastjson和其他JSON库一样,用于将JSON对象转换为Java对象,反之亦然。如果在迭代HashMap时直接修改了Ha...
2018-07-20 01:24:03 |
Java
FastJSON-03-fastjson 如何把 value 全部序列化为字符串
业务场景
目的
想把所有的 value 都序列化为字符串,而不是 map 或者 object。
实现方式
xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>...
2018-07-20 01:24:03 |
Java
FastJSON-02-循环依赖 JSONSerializer.containerReference 与 SerializerFeature.DisableCircularReferenceDetect
fastjson把对象转化成json避免$ref
重复对象
当进行toJSONString的时候,默认如果重用对象的话,会使用引用的方式进行引用对象。
引用是通过”$ref”来表示
引用 描述
“$ref”:”..”
上一级
“$ref”:”@”
...
2018-07-20 01:24:03 |
Java