- 博客(24)
- 收藏
- 关注
原创 告别 ELK!Loki + Grafana 零成本搭建轻量级日志平台(Spring Boot 实战
本文介绍了一套轻量级日志方案——使用 Loki + Grafana 替代资源消耗巨大的 ELK 栈。通过 Docker Compose 一键部署 Loki v3.7.3、Grafana v13.1.0 和 Promtail,Spring Boot 应用通过 logstash-logback-encoder 输出结构化 JSON 日志,配合 LogQL 查询语言实现秒级日志检索。整体内存占用仅 200MB(仅为 ELK 的 5%),10 分钟即可完成从零搭建。附完整配置文件、MDC 使用示例和 LogQL 查
2026-07-16 15:37:45
190
原创 Java 线上排查标准手册:CPU 飙高、内存泄漏、接口慢,jstack/jmap/jstat 命令速查
本文系统整理了 Java 线上问题排查的标准命令和完整路径。覆盖六大场景:CPU 飙高(top -Hp → printf 转十六进制 → jstack 定位代码行)、内存泄漏(jstat 看 GC → jmap -histo 找嫌疑类 → jmap dump 离线分析)、接口慢(线程状态分布 → 阻塞链分析 → 连接池检查)、死锁、线程数异常、OOM 应急处理。每个场景配有完整命令示例、输出解读表和决策逻辑,文末附 JVM 生产参数推荐和命令速查总表。适合需要不依赖 Arthas 等第三方工具、用 JDK
2026-06-29 12:07:22
227
原创 Spring Boot 虚拟线程实战:ThreadLocal 串数据、连接池打爆、synchronized 钉住线程,三个坑及解决方案
obsidian周五下午上线,一切正常。周一早上,客服群里出现了第一条消息——「用户反馈订单状态更新延迟,有时候明明付了款,页面还显示待支付」。我看了一眼日志,没有异常,没有报错。但仔细一翻,发现十几条订单的userId串了——用户 A 的操作,记录到了用户 B 的名下。永远是 ThreadLocal。
2026-06-29 12:00:53
261
原创 JVM 实战调优:一次线上 Full GC 频繁的排查与优化全过程
本文通过一次线上 Full GC 频繁的真实案例,完整呈现 JVM 调优的三层排查方法——GC 日志分析定位根因类型、堆 dump 分析找到内存大户(Druid 连接池积压 1.2GB)、代码审查发现 N+1 查询模式。优化采用三板斧:用 IN 子句替代循环内 getConnection、调优 Druid 连接池回收策略、调整 G1 的 IHOP 参数。优化后响应时间从 2.3s 降至 87ms,Full GC 频率降低 97.5%。
2026-06-27 09:48:53
333
原创 开发者的工具箱:AI、中间件、文档、工具一站式地址大全
本文按 Java 开发栈、数据库、中间件、容器运维、前端、AI 平台、IDE、学习资源、日常工具九大技术领域重新分类整理了 50+ 个开发者常用站点,每个链接标注用途,适合作为日常开发速查书签。
2026-06-25 15:47:41
181
原创 JPAUpdateClause和JPADeleteClause实现批量处理
通过和,可以实现以下优势:类型安全:避免字段名拼写错误。动态条件:灵活拼接复杂逻辑。高性能:结合 Hibernate 批量优化配置,大幅提升大批量操作效率。代码简洁:链式 API 比原生 JPQL 更易维护。适用场景:需要更新/删除大量符合动态条件的记录。希望避免手动拼接 SQL/JPQL 字符串。要求操作在事务内完成并返回受影响行数。
2025-03-17 16:25:41
1140
原创 QueryDSL 框架深度解析
QueryDSL 的核心价值在于通过类型安全的 API 提升查询代码的健壮性和可维护性。它尤其适合以下场景:需要频繁处理动态查询条件。项目中有复杂的联表查询需求。团队希望减少 SQL/JPQL 字符串拼接导致的错误。
2025-03-17 16:24:00
1586
原创 Java常用官网地址
本文整理了 Java 开发者常用的 30+ 个官方文档地址,覆盖 Java 核心框架、微服务中间件、数据库、容器运维、开发工具五大类,全部指向官方网站或中文社区,适合作为日常开发速查书签收藏。
2024-04-27 14:37:03
9373
2
原创 macOS-npm-gyp-Python报错
本文详细分析了 macOS 下 `npm install` 报 `gyp ERR: Can't find Python executable` 错误的根本原因(node-gyp 无法定位 Python),提供了设置 `PYTHON` 环境变量、创建软链接、npm config 指定三种解决方案并进行对比。同时给出了包含 Node 版本、Xcode CLI、Python 路径、芯片架构等维度的完整排查清单,以及 Apple Silicon 和 Intel Mac 的路径差异说明,适合 macOS 开发者在搭建
2024-04-27 14:15:51
681
2
原创 CentOS 8/9 安装 MySQL 报错:没有任何匹配 mysql-community-server 的解决方法
本文针对 CentOS 8/9 安装 MySQL 时常见的「No match for argument: mysql-community-server」报错,分析了系统模块化机制导致包被屏蔽的根因,给出 yum module disable mysql 的解决方案。同时提供了 MySQL 8.0 从仓库配置到安全初始化的完整安装流程,以及 GPG 密钥、MariaDB 冲突等常见问题的处理方法和通用排错思路。
2023-11-16 16:08:29
1025
原创 CentOS8-yum报错解决
本文分析了 CentOS 8 因停止维护导致 yum 仓库无法使用的根因,给出了通过 sed 命令将仓库源从已下线的 mirror.centos.org 切换到归档站 vault.centos.org 的完整解决方案,并逐条解释了命令含义,同时提供了 GPG 密钥、迁移 CentOS Stream 等补充方案和新系统选择建议。
2023-11-16 16:06:09
895
原创 CronUtil工具类
@param month 月 使用(month1-month2) 可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示。* @param month 月 使用(month1-month2) 可以用0-11 或用字符串 “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示。
2023-07-20 16:43:54
821
原创 Java 开发环境搭建手册(Linux 篇):从装机到 Docker 部署一站式指南
本文是一份面向 Java 开发者的 Linux 环境搭建完整指南,从固定 IP、防火墙配置、用户管理开始,逐步覆盖 CentOS 7 / Ubuntu 24.04 安装 Docker、Java,以及使用 Docker 部署 MySQL 和 Redis。每个步骤均附带可直接复制的命令和参数说明,适合在拿到新服务器时快速完成基础环境初始化。
2022-08-12 09:06:37
874
原创 通过传参的形式获取枚举的方法和值
通过传参的形式获取枚举的方法和值下面展示一些 内联代码片。// A code blockpublic enum NationEnum { N01("汉族"), //汉族 N02("壮族"),//壮族 N03("藏族"),//藏族 N04("裕固族"),//裕固族 N05("彝族"),//彝族 N06("瑶族");//瑶族 private final String nationName; private NationEnum(St
2021-07-26 17:55:17
1137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅