2025-09-17
基础要求与依赖变化
特性
Spring Boot 2
Spring Boot 3
说明
Java 版本
Java 8+
Java 17+
Spring Boot 3 强制要求 Java 17 或更高版本
Servlet API
Javax Servlet
Jakarta Servlet
包名从 javax 迁移至 jakarta
Sprin...
阅读全文
2025-09-17
在笔者编写这篇文章的时候,Java 25 LTS 版本已发布,目前的LTS版本分别是:Java 8、Java 11、Java 17、Java 21、Java 25。
阅读全文
2025-09-08
环境:OpenJDK 1.8
通过 Arthas 的memory命令查看内存使用情况,发现 Metaspace 的使用率达到 90.98%。Metaspace 主要用于存储类的元数据(如类定义、方法字节码等),使用率过高极易引发OutOfMemoryError: Metaspace错误。
进一步使用classloader命令查看类加载情况,发现共有 339...
阅读全文
2025-08-05
自己平时收藏的工具类网站比较多,时间长了之后容易忘记并且找起来页比较麻烦,于是基于 cursor 做了这个导航站;不得不说,有了 AI 之后开发一些简单的前端页面简直太方便了。关于网址内容后续会慢慢补充起来。
技术栈:基于 Next.js 14 + shadcn/ui + Tailwind CSS 构建
网站地址: https://nextnav...
阅读全文
2025-07-11
背景:目前需要对业务日志大表A进行迁移,只保留最近3个月的数据,遇到的问题是迁移完成后,新表B的磁盘空间占用没有减少。
MySQL 版本:8.0.36,InnoDB存储引擎。
阅读全文
2025-07-01
要在 Kubernetes (k8s) 中使用 VisualVM 连接到运行在 Docker 容器中的 Java 程序,可以按照以下步骤进行操作:
启用 JMX首先,需要在 Docker 容器中的 Java 应用中启用 JMX。可以通过在启动命令中添加以下 JVM 参数来实现:
123456-Dcom.sun.management.jmxremote-Dco...
阅读全文
2025-06-30
今天下午,有用户反馈直播间人数不对,负责这块的同事准备让运维重启这个服务紧急处理。发现服务无法重启,于是我开始帮忙协助排查这块问题。
阅读全文
2025-04-14
由于拉取了新的 Git Repo 代码,没有设置作者信息,使用了全局的 Git 账号信息,导致提交代码时,显示的作者信息是错误的。
解决办法:通过 Rebase 对已提交的commit 进行修改。
12345678910111213# 第一步,(n)代表提交次数git rebase -i HEAD~n # 第二步然后按`i`编辑,把`pick` 改成 `ed...
阅读全文
2025-03-18
问题描述MySQL update_time 字段设置了自动填充,由于业务提交,seata 记录当前镜像后,数据库又进行了一次时间戳的更新,导致镜像校验不通。
解决方案
关闭数据库的时间戳自动更新。数据的时间戳更新,如修改、创建时间由代码层面去维护,比如 MybatisPlus 就能做自动填充。
update 语句别把没更新的字段也放入更新语句。
参考文...
阅读全文
2025-03-18
问题描述字段 order_service_type,MySQL 数据类型为 tinyint,存储值为4,导致在 Seata 回滚时,无法回滚到正确的状态。变成1了。
问题排查通过 Debug,查看 Seata undo_log 表,发现 order_service_type 在生成快照时被当作 Boolean 值处理了,回滚的时候转成1写入。
1234567...
阅读全文