2团日志

深入了解G1 GC

1. 前言 本文参考了众多博客文章,现在按照自己的理解,将众文章中的知识点提取出来进行组合,文章列表详见附录。 Java 8之后,JVM的首选垃圾收集器由Par NEW + CMS组合变更为G1(Garbage First)。虽然Java 21及之后的版本,会更推崇使用ZGC,但是项目中应该会坚持使

2团 2团 Published on 2024-08-16

Spring Boot设置业务线程池优雅关闭

1. 业务背景 最近项目运行,发现某热点业务流程,频繁调用Mongo进行入库操作。此处已经成为性能瓶颈,需要对其进行优化。 因为入库数据主要是作为审计进行使用,对入库的时间实时性要求不高,且可以容忍在意外情况下丢失部分数据。 基于此点,设计使用内存阻塞队列存储Mongo入库请求(削峰填谷),然后使用

2团 2团 Published on 2024-08-16

Ubuntu通过apt安装指定版本Node.js

Ubuntu自带的Nodejs版本过低,因此我选择基于NodeSource软件源安装较高版本的Nodejs。 NodeSource (https://github.com/nodesource/distributions)是一个公司,聚焦于提供企业级的 Node 支持。它维护了一个 APT 软件源,

2团 2团 Published on 2024-08-16

MyBatis-Plus字段加密存储解决方案

1. 需求背景 项目采用MyBatis-Plus作为ORM工具,近期需要对手机号,账户等敏感信息进行加密存储。 考虑到MyBatis提供了BaseTypeHandler,可以继承此对字段进行自定义操作,于是创建以下解决方案 2. 加解密Handler 因为加密的字段,在部分场景下还需要提取出来执行业

2团 2团 Published on 2024-08-16

Windows 10安装pnpm运行失效

1. 现象 在Windows 10上通过npm安装pnpm(npm install -g pnpm),执行pnpm时出现如下错误(未对文件 C:\Users\***\AppData\Roaming\npm\pnpm.ps1 进行数字签名。无法在当前系统上运行该脚本): 2. 解决方案 需要更改Win

2团 2团 Published on 2024-08-16

Git回退最近一次提交

项目上接到临时需求,要求更改某项功能。更改提交变更到仓库后,又接到需求回退的消息,因此只能回退当前的提交,便于后续的开发工作。 备份当前分支,并推送备份分支至数据仓库后,执行如下命令进行回退操作: git revert HEAD 具体操作提示如下所示: 需要注意,敲入如上命令后,会弹出名为CMOMM

2团 2团 Published on 2024-08-16

Ubuntu持久化设置DNS

Ubuntu持久化设置DNS 1. 问题起因 更新VirtualBox中的Ubuntu 22.04虚拟机时,发现出现如下错误: 分析大概原因,可能是因为公司的DNS服务不稳定,因此尝试设置指定DNS服务解决。 2. DNS服务设置 网上大多设

2团 2团 Published on 2024-08-16

Fail2Ban使用记录

1.安装 sudo apt install fail2ban # 设置开机启动 sudo systemctl enable fail2ban # 查看fail2ban状态 sudo systemctl status fail2ban 查看Fail2ban状态正常,则您的服务器已安装并运行Fail2B

2团 2团 Published on 2024-08-16

Firewalld设置

1. 背景 项目上有些服务器是CentOS,使用firewalld作为防火墙。 经常需要对firewalld进行设置,故此记录一下。 2. 启动firewalld # 启动防火墙 systemctl start firewalld.service # 设置开机启动防火墙 systemctl enab

2团 2团 Published on 2024-08-16

常规Java项目初始化配置

1. Git操作 # 用户名和邮箱替换为实际信息 git config user.name "***" git config user.email "***" # 省略git init以及git add操作(均可以通过怕ide实现) git commit -m "first commit" # 仓库

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