Java 8 中使用 Lambda 表达式简化代码

Lambda 表达式是在 JDK 8 中引入的一个新特性,可用于取代大部分的匿名内部类。使用 Lambda 表达式可以完成用少量的代码实现复杂的功能,极大的简化代码代码量和代码结构。同时,JDK 中也增加了大量的内置函数式接口供我们使用,使得在使用 Lambda 表达式时更加简单、高效。

Read more

Java 8 中使用 Optional 处理 null 对象

Optional 是一个容器对象,可以存储对象、字符串等值,当然也可以存储 null 值。Optional 提供很多有用的方法,能帮助我们将 Java 中的对象等一些值存入其中,这样我们就不用显式进行空值检测,使我们能够用少量的代码完成复杂的流程。

Read more

Java 8 中新增日期时间 API 的使用

在 Java 1.8 版本之前,日期时间 API 存在诸多问题,开发者使用体验非常糟糕,在 Java 8 通过发布新的 Date-Time API (JSR 310) 来对日期与时间的处理的方法进行了改善。而这里进行介绍下 Java 1.8 中的操作日期时间的的方法的使用。

Read more

SpringBoot 实现 Websocket 通信详解

WebSocket 是一种基于 TCP 的网络协议,也是一种全双工通信的协议,既允许客户端向服务器主动发送消息,也允许服务器主动向客户端发送消息。在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,进行双向数据传输。对于双向信息交互的需求来说,使用 WebSocket 实现业务逻辑非常合适,这里介绍下 SpringBoot 如何实现基于 WebSocket 的功能需求,并写了四个基本操作示例进行演示。

Read more

Helm 安装 ElasticSearch & Kibana 7.x 版本

Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便,轻松扩展服务节点,更能用于日志收集快速检索等等一些列功能。所以在 Kubernetes 中搭配 ElasticSearch 集群是非常有必要的,通过 Yaml 文件安装 ElasticSearch 非常不方便且安装的可能非常不稳定导致发生很多问题,所以这里利用 Helm 来安装 ElasticSearch 和 Kibana,这里将介绍安装过程。

Read more

SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解

MongoDB 是现在常用的 NoSQL 数据库,采用了键值对(JSON)方式存储数据,文档式的存储方式对开发者非常友好,并且 MongoDB 也支持副本集、分片等高可用,也提供多种数据查询方式。这里我们使用 SpringBoot 框架集成 Spring Data MongoDB 框架对 MongoDB 数据库中的数据进行操作,这里记录下这些操作示例。

Read more

Jenkins Pipeline 中使用 Kafka 插件将消息发送到 Kafka

在平时我们使用 Jenkins 执行任务构建时候会产生很多指标性数据,这些数据会输出到 Jenkins 日志中,在 Jenkins 中日志是存储到文件里面的,且数据量多我们收集起存储来不是很方便,很多时候我们只要部分指标关键数据,例如,用于统计任务构建时长的'开始时间'和'结束时间'、'任务执行次数'、'任务执行人'、'任务编号'等等。收集这些关系指标数据有很多方法,可以使用 logstash 插件将数据输入到 Elasticsearch 中,也可以输出到 Kafka 等应用处理后再存储,这里就是将数据输出到 Kafka 中,方便后续处理这些数据。这里介绍下如何安装与使用该插件。

Read more

安装 Helm3 管理 Kubernetes 应用

Helm 是一款能够帮助你管理 Kubernetes 应用的程序,使用起来类似于 Kubectl 工具,只需要通过简单的命令,就能部署复杂的应用程序。这里我们将安装 Helm 3.0 并记录这个安装过程。

Read more

Springboot 中使用 Gson 与 Fastjson 替换默认 Json 组件 Jackson

现在流行的 SpringBoot 是我们在日常开发中经常用的开源框架,它默认的 Json 解析器是基于 Jackson 的,有时候我们需要将这个默认 Json 解析器替换为 FastJson 或者 Gson,替换起来也很简单,只需要移除 Jackson 的配置,然后自定义一个 HttpMessageConverters 就可以完成该项操作。这里记录下这个过程,并且解决在使用 Gson 替换 Jackson 后 Swagger 无法正常使用的问题。

Read more

Jenkins Pipeline 中使用 Git 插件对项目进行 Pull 与 Push

在 Jnekins 安装后,一般都会默认安装上 Git 插件,在写 Pipeline 脚本时候,也经常使用 Git 插件从 Git 仓库拉取项目进行编译,可以说使用 Git 已经是日常化操作,如何使用 Git 插件从 Git 远程仓库拉取与推送代码更是常用命令,这里介绍下如果通过 Git 插件进行这些操作。

Read more