Java Jackson-jr 库是干什么用的

Jackson-jr 是一个轻量级的Java JSON 处理库。这个库被设计用来替代 Jackson 的复杂性。对比 Jackson 的复杂 API,Jackson-jr 的启动速度更快,包大小更小。

虽然Jackson databind(如ObjectMapper)是通用数据绑定的良好选择,但它的占用空间(Jar包大小)和启动开销在某些领域可能存在问题:比如移动端,特别是对于轻量使用(读或写)。这种情况下,完整的Jackson API是让人接受不了的。

由于所有这些原因,Jackson 官方决定创建一个更简单、更小的库:Jackson-jr。它仍旧构建在 Streaming API 之上,但不依赖于 databind 和annotation。因此,它的大小(jar和运行时内存使用)要小得多,它的API非常紧凑,所以适合APP等移动端。

它仅仅只依赖了 jackson-core 模块,所以体积上控制得非常的好。Jackson 单单三大核心模块大小合计1700KB左右(320 + 70 + 1370)。而Jackson-jr的体积控制在了95KB(就算加上core模块的320也不到500KB)。

针对实际开发的情况,很多时候我们只需要对 JSON 数据进行读取和写入,至于一些过于复杂和强大的属性,我们可能也用不上,因此针对一些 JSON 数据使用场景比较单一的情况,Jackson-jr 就显得更有优势了。

所以,Jackson-jr 的主要情况就是在针对 JSON 格式的读写上面,如果你只需要简单的读和些,Jackson-jr 通常是你的一个选择。

性能

有关 JSON 处理数据的能力,Github 上有个项目进行了一些测试。

项目的地址为:GitHub - fabienrenaud/java-json-benchmark: Performance testing of serialization and deserialization of Java JSON libraries

根据项目测试的结果来看,Jackson 的处理能力是所有参加测试的包的性能最好的。

Jackson-jr 和 Jackson 是同一个社区的产品,因此性能上面完全不需要担心。

Java Jackson-jr 库是干什么用的 - Java - iSharkFly

相关推荐
Zane19944 分钟前
复制算法明明要浪费一半内存,为什么新生代还偏偏用它
java·后端
worilb4 分钟前
Java/JVM 常见诊断文件对比
java·开发语言
toolsmith10 分钟前
AI能替你读代码,但替代不了你积累洞察力:一次YouTrack逆向实战全记录
java·源码阅读
步行cgn11 分钟前
Spring Boot 绑定简单 Bean 详解
java·spring boot·后端
鹿角片ljp12 分钟前
我如何用 Frontend Design Skill 重构平台
java
未秃头的程序猿13 分钟前
分库分表一年后,我复盘了当时最该想清楚的三件事
java·数据库·后端
岁月如歌778616 分钟前
顺序消息与幂等消费完全指南:从队列有序到接口幂等
java·后端·架构
秋名RG16 分钟前
Java 泛型深度解析:从类型安全到现代实践(JDK 21 视角)
java·windows·安全
SamDeepThinking17 分钟前
不改逻辑、不拆方法:仅靠「调整代码顺序」提升可读性
java·后端·程序员
2601_9622982724 分钟前
交易开拓者通常使用什么编程语言?这种语言如何帮助自动化交易?
java·c++·python·编程语言·自动化交易