- Java207
- 编程14
- 设计78
- DevOps8
- 数据结构和算法16
- 数据库108
- 网络19
- 分布式76
- 大数据33
- 软件工程3
- 工作8
- 笔记47
- JavaCore64
- JavaEE15
- 软件20
- 工具37
- 框架68
- 中间件9
- 编程范式4
- 编程语言3
- Python6
- 架构31
- 设计模式27
- 重构7
- DDD2
- UML4
- 综合20
- 监控2
- 线性表4
- 树6
- 数据库综合3
- 数据库中间件4
- 关系型数据库18
- 文档数据库12
- KV数据库19
- 列式数据库14
- 搜索引擎数据库24
- 网络综合8
- 网络协议6
- 网络技术4
- 操作系统13
- 操作系统应用2
- 分布式综合3
- 分布式理论12
- 分布式协同14
- 分布式调度7
- 分布式高可用1
- 分布式通信31
- 分布式存储7
- hadoop7
- hive8
- spark1
- flink9
- 其他15
- 人工智能1
- 基础特性18
- 高级特性7
- 容器7
- IO9
- 并发11
- JVM9
- 面试11
- JavaWeb6
- 服务器8
- 构建9
- IDE4
- 监控诊断6
- JavaBean2
- 模板引擎4
- 测试5
- Spring61
- ORM3
- 安全8
- 缓存5
- 流量控制2
- 微服务5
- 解决方案8
- Git3
- Shardingsphere2
- Mysql10
- MongoDB11
- Redis17
- HBase12
- Elasticsearch15
- Elastic8
- Linux11
- 命令1
- 分布式协同综合7
- ZooKeeper6
- RPC8
- MQ17
- hdfs4
- 效能6
- 方法论2
- 规范3
- Tomcat6
- Maven7
- Spring综合5
- Spring核心24
- Spring数据10
- SpringWeb8
- SpringIO4
- Spring集成4
- Spring安全1
- Spring其他4
- RPC综合4
- Dubbo2
- MQ综合2
- Kafka9
- RocketMQ4
- 其他MQ1
Java 和 JSON 序列化
JSON(JavaScript Object Notation)是一种基于文本的数据交换格式。几乎所有的编程语言都有很好的库或第三方工具来提供基于 JSON 的 API 支持,因此你可以非常方便地使用任何自己喜欢的编程语言来处理 JSON 数据。
本文主要从 Java 语言的角度来讲解 JSON 的应用。
JSON 简介
JSON 是什么
JSON 起源于 1999 年的 JS 语言规范 ECMA262 的一个子集(即 15.12 章节描述了格式与解析),后来 2003 年作为一个数据格式ECMA404(很囧的序号有不有?)发布。
2006 年,作为 rfc4627 发布,这时规范增加到 18 页,去掉没用的部分,十页不到。
Java 二进制序列化
简介
为什么需要二进制序列化库
原因很简单,就是 Java 默认的序列化机制(ObjectInputStream
和 ObjectOutputStream
)具有很多缺点。
不了解 Java 默认的序列化机制,可以参考:Java 序列化
Java 序列化工具
Java 官方的序列化存在许多问题,因此,很多人更愿意使用优秀的第三方序列化工具来替代 Java 自身的序列化机制。 如果想详细了解 Java 自身序列化方式,可以参考:Java 序列化
序列化库技术选型:
Lombok 快速入门
Lombok 简介
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode()
和 equals()
、getter / setter
这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。
Lombok 安装
由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决。具体的安装方式可以参考:Setting up Lombok with Eclipse and Intellij
Dozer 快速入门
这篇文章是本人在阅读 Dozer 官方文档(5.5.1 版本,官网已经一年多没更新了)的过程中,整理下来我认为比较基础的应用场景。
本文中提到的例子应该能覆盖 JavaBean 映射的大部分场景,希望对你有所帮助。
简介
Dozer 是什么?
Dozer 是一个 JavaBean 映射工具库。
它支持简单的属性映射,复杂类型映射,双向映射,隐式显式的映射,以及递归映射。
它支持三种映射方式:注解、API、XML。
Freemark 快速入门
FreeMarker 是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML 网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个 Java 类库,是一款程序员可以嵌入他们所开发产品的组件。
Freemark 简介
Freemark 模板编写为 FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像 PHP 那样成熟的编程语言。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
Thymeleaf 快速入门
标准方言
标准方言是指 Thymeleaf 定义了一组功能,这些功能应该足以满足大多数情况。可以识别这些标准方言在模板中的使用,因为它将包含以th
前缀开头的属性,如<span th:text="...">
。
表达式
${...}
: 变量表达式。
*{...}
: 选择表达式。
#{...}
: 消息 (i18n) 表达式。