![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 94
magicpenta
这个作者很懒,什么都没留下…
展开
-
Java 多模块持续集成(Maven 示例)
一、为什么要用 Jenkins?目前,我们在持续集成上使用的是 GitLab 自带的 gitlab-ci。它支持自动化完成代码编译、镜像构建与镜像推送,减少开发人员在项目构建上的时间开销。但是,gitlab-ci 有一个明显的缺陷:在遇到多模块项目时(如基于 SpringBoot 搭建的微服务项目),它显得有些无力。具体表现为,gitlab-ci 不支持多管道,每当项目中某个模块的代码有新的提交,gitlab-ci 都会触发全项目的自动构建,而无法仅针对产生变动的子模块进行构建。当项目规模较大时,这种构原创 2021-07-30 14:10:30 · 911 阅读 · 0 评论 -
使用 log4j 输出日志到 Kafka
一、背景介绍使用 log4j 自带的 appender,我们可以将日志打印到控制台,也可以将日志打印到本地文件。更深入使用的话,我们可以将日志进行隔离,根据日志级别输出到不同的文件,或者,我们还可以根据日期对日志进行滚动存储。这些原生功能看起来都很不错,但总感觉缺了点什么。假设我们部署了具有 10 个节点的集群,使用 log4j 记录日志到节点的本地文件。某一天,运维反馈集群有异常,需要找出故障点。此时,我们只能对 10 个节点的日志文件进行逐一排查,找出其中的 ERROR 日志。这看起来十分僵硬。若原创 2021-04-19 17:34:39 · 4986 阅读 · 0 评论 -
Zstd 压缩性能分析
About ZstdZstd,全称 Zstandard,是 Facebook 于 2016 年开源的新无损压缩算法。与 zlib、lz4、xz 等当前流行的压缩算法不同,Zstd 寻求一种压缩性能与压缩率通吃的方案,而实际上它也确实做到了。在由官方所列出的表格中,可以看到,Zstd 不仅具备优秀的压缩性能,在压缩率上也有非常亮眼的表现。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RXOO1Z8l-1596090419061)(https://engineering.fb原创 2020-07-30 14:29:14 · 9193 阅读 · 0 评论 -
基于 GitLab+SonarQube 搭建自动化代码检测平台
一、背景介绍目前,成熟的代码检测工具有很多,如 SpotBugs(前身为 FindBugs)、PMD、Checkstyle 等,我们可以在本地开发环境,非常便捷地利用这些工具实现代码的扫描与检测。这看上去好像很不错,但实际上,采用这种代码检测方式,我们面临着两个问题:代码提交前需要手动运行检测工具检测结果仅对自己可见那么,有没有什么方案可以规避这些问题呢?答案当然是有的。我们可以基于 GitLab 和 SonarQube 搭建自动化代码检测平台,并通过该平台实现以下功能:每次提交原创 2020-06-21 00:19:17 · 11986 阅读 · 3 评论 -
显式关闭线程池的正确姿势
一、shutdown提到 Java 线程池的关闭,绝大多数人第一时间想到的是 ExecutorService 的 shutdown 方法。关于 shutdown 方法,注释上是这么说明的。/** * Initiates an orderly shutdown in which previously submitted * tasks are executed, but no new ta...原创 2019-02-13 15:42:39 · 677 阅读 · 0 评论 -
Java 移位运算符
Java 中有三种移位运算符,分别是:<<:左移运算符>>:带符号右移>>>:无符号右移那么这个移位运算符该怎么理解呢?顾名思义,移位移位,就是移动位置。那么问题来了,既然是移动位置,那么移位运算符移动的是谁的位置,怎么移?我们写个程序测试一下。public class Main { public static void main(...原创 2019-01-24 15:01:11 · 156 阅读 · 0 评论 -
HttpClient 4.5 重定向到中文URL出现乱码的解决方案
一、问题描述:遇到某个 URL A,请求时发现会重定向到某个包含了中文字符的 URL B。原以为只要 HttpClient 开启了自动重定向的功能,下载 A 指向的页面轻而易举,结果却出乎意料。HttpClient 在获取重定向后的 URL B 时出现了中文乱码,导致下载失败,具体报错信息见下图:二、解决方案问题的核心在于 ConnectionConfig 对象的 Charse...原创 2018-07-30 19:16:17 · 1907 阅读 · 1 评论