2团日志

Netty中SingleThreadEventLoop执行wakeUp的优化

看io.netty.util.concurrent.SingleThreadEventExecutor 代码时,发现执行execute() 方法时,会使用addTaskWakesUp标志判断是否需要唤醒线程。具体代码如下所示: @Override public void execut

2团 2团 Published on 2025-04-07

Netty执行Flush操作的写入优化

1. 前言 在近期研读芋道源码对Netty代码的解析过程中,其中提及Netty在执行写入操作时进行了优化处理。通常情况下,SocketChannel能够直接完成数据写入,但如果写入的数据量过大(如写入大文本文件)或者客户端读取能力较弱,就容易导致写入缓冲区溢出,进而造成数据丢失。 2. 优化方案 2

2团 2团 Published on 2025-04-03

Spring Boot多模块项目通过包路径添加API前缀

1. 前言 在微服务项目中,建议所有接口使用统一的API前缀,多类业务可用不同前缀区分。这样便于Nginx/Openresty等反向代理统一处理,好处如下: 简化配置:统一前缀可减少API代理配置项,降低管理复杂度和出错风险; 便于开发:统一前缀利于为相同业务编写Lua插件,实现诸如鉴权等功能; 保

2团 2团 Published on 2025-03-25

Java基于单字符分割字符串的分割方法性能测试

1. 前言 项目中的TCP连接器需要解码终端设备上传的指令,绝大多数的指令数据字段字段基于","进行分隔,主要使用Java字符串的原生split方法。近期,在优化连接器性能的过程中,对于字符串分割的性能表现产生好奇。 因此基于网上给出的benchmark代码,测试不同编译器下,常见的字符串分割方法的

2团 2团 Published on 2024-09-23

认识Swagger与Springfox的联系与区别

做过Java后端开发的同学应该都用使用过Springfox和Swagger,但我相信很多同学都对这两个工具的理解和使用都有问题。 Swagger是什么 根据官网的介绍,Swagger是一系列用于Restful API开发的工具,开源的部分包括: OpenAPI Specification:API规范

2团 2团 Published on 2024-09-09

Java中随机数生成器:Random/ThreadLocalRandom/SecureRandom的区别

1.前言 近期看微信支付库,发现其随机数生成器使用的是SecureRandom,并非是经常使用的ThreadLocalRandom,具体代码如下所示: /** 随机串生成工具 */ public class NonceUtil { private NonceUtil() {} priva

2团 2团 Published on 2024-08-21

简易Spring Boot应用Docker compose部署模板

1. 前言 近期使用Spring Boot编写了一些简单的工具应用,部署的时候图省事,不想编写开机自启动脚本并且完成Linux主机定时任务配置,因此想着通过Docker compose解决部署问题。 主要需要完成如下步骤: 完成日志配置(指定日志生成路径/app/logs); 创建Docker fi

2团 2团 Published on 2024-08-20

Spring Boot的Docker应用生成Excel缺失字体

1. 前言 项目上部署Spring Boot应用至内网环境的时候,发现在调用生成Excel时主机缺失相应字体,又因为内网机器无法访问互联网下载相应字体,导致功能调用失败,为解决此问题,需要在打包Spring Boot镜像时,将需要的字体一并打包。 2. 打包字体 在Linux Docker镜像中生成

2团 2团 Published on 2024-08-16

SpringBoot 3配置加密(TLS)访问MySQL

1. 前言 前序开发项目,因为没有合适的主机资源,将MySQL通过Docker形式部署在云主机上,并通过Nginx反向代理暴露于公网上。为了浅浅的保障一下MySQL以及主机安全,因此配置MySQL仅允许通过加密连接进行访问,具体配置可参考《MySQL 8.4的Docker compose设置自动生成

2团 2团 Published on 2024-08-16

通过Emoji认识Java String

1.前言 Emoji表情在通讯场景被广泛使用,最近处理bug单时就遇到了相关问题,在解决问题的过程中重新认识了下Java的字符编码,故形成此文。 String emostring ="😂😍🎉👍"; 上述字符串中包含4个Emoji表情,从直观上我们认为其长度应该为4,但是通过如下代码计算其长度

2团 2团 Published on 2024-08-16
Previous Next