自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL GROUP BY 很慢怎么优化:加了索引反而从 1 秒变 7 秒,Using temporary 该不该消(MySQL 8.2 实测 400 万行)

MySQL GROUP BY 很慢怎么优化?8.2 实测 400 万行订单表:只给分组列加索引,SUM 每行回表,从 1.1 秒变 6.9 秒,覆盖索引 0.54 秒;带时间范围的报表索引 (created_at, shop_id, amount) 0.13 秒;49.6 万个分组时临时表落盘 7.75 秒,调大 tmp_table_size 2.63 秒、加索引 0.45 秒;MIN/MAX 松散索引扫描 0.01 秒;排行榜用汇总表。附 MySQL 8 不再隐式排序和 ERROR 1055 改法。

2026-11-07 16:54:07 288

原创 Token 放 Redis 还是用 JWT:Java 实测验签和查 Redis 的耗时,退出登录、改密码踢下线怎么做(jjwt 0.12 + Redis 7.2)

Token 放 Redis 还是用 JWT?JDK 17 + jjwt 0.12.5 + Redis 7.2 实测:HS256 验签 6.6 微秒,RS256 46.6 微秒,本机查 Redis 平均 83 微秒;纯 JWT 退出登录后旧 token 照样能用,jti 黑名单让它失效,用户版本号一次踢掉所有设备;Redis 存 10 万会话约 22 MB。附选型表和 GETEX 滑动过期写法。

2026-11-07 16:44:38 165

原创 Java 正则表达式很慢怎么办:Pattern 预编译只快 2~5 倍,真正卡死线程的是回溯(JDK 8、11、17 实测)

String.matches 和 replaceAll 每次调用都重新编译正则,JDK 17 实测改成 static final Pattern 后常见校验快 2~5 倍;String.split 按单个字符拆走快速路径,不用改;替换固定文本用 replace 比 replaceAll 快约 10 倍。真正能卡死线程的是灾难性回溯:JDK 8 上常见邮箱正则 28 个字符跑 14 秒,JDK 11、17 修好了嵌套量词,但 (.*a){n} 依然指数增长。附改写方法和超时兜底代码。

2026-11-06 09:42:50 139

原创 Claude Code 把邮箱发给网站怎么办:User-Agent 带上账号邮箱的自查脚本和 hook 拦截(2.1.299 实测)

Claude Code 被曝用 curl 抓网页时把 claude.ai 登录邮箱写进 User-Agent 发给第三方网站(issue #107757)。本文在 2.1.299 上用本地接口复现:Opus、Sonnet 7 次都没带邮箱,Haiku 6 次里 2 次直接带上邮箱;给出扫描 ~/.claude/projects 会话记录的自查脚本、旧版本可用的 PreToolUse hook(实测拦下 1 次),以及 2.1.317 内置 privacy 插件管得到和管不到的情况。

2026-11-06 09:37:41 169

原创 Claude Code subagent 什么时候该用:同一个 Java 任务实测子代理比主对话贵 2 倍、慢一倍(2.1.299)

Anthropic 10 月发文建议把 subagent 并回主循环。本文用 Claude Code 2.1.299 在同一个 30 个类的 Java 项目上跑了 11 次 claude -p:派 Explore 子代理比主对话自己搜贵 2~3 倍、墙钟耗时多一倍多,总结还会漏细节;附自定义 Haiku 子代理、覆盖内置 Explore、在 settings.json 里禁用 Agent 的配置,以及什么时候子代理才值得用。

2026-11-05 09:34:48 282

原创 Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)

Spring Boot 用 SseEmitter 或 Flux 做大模型流式输出,前端却一次性收到全部内容、只收到第一个字或 30 秒后断开?本文用 Spring Boot 4.1.2 实测 5 个原因:controller 线程里 send、ContentCachingResponseWrapper 日志过滤器、默认 30 秒异步超时、Flux 没写 produces、Nginx 代理缓冲,并验证开 gzip 在 Tomcat 上不会让 SSE 变成一次性返回。

2026-11-05 09:33:00 307

原创 Java 堆外内存怎么查看:NMT 定位 DirectByteBuffer 和 Unsafe 泄漏,进程内存比 -Xmx 大的原因(JDK 17 实测)

Java 进程内存比 -Xmx 大很多、容器被 OOMKilled,多半是堆外内存。本文用 JDK 17 实测 NMT 查看堆外内存:DirectByteBuffer、Unsafe、线程栈各占多少,baseline 加 diff 定位泄漏调用点,以及 Direct buffer memory 默认上限等于 -Xmx 的坑。

2026-11-04 09:30:56 298

原创 Postman 自动给 Claude Code、Codex、Cursor 装插件怎么查和卸载:本机实测 5 处痕迹(Postman 12.34)

Postman 桌面版升级时会自动给 Claude Code、Codex、Cursor 装插件。本文在 macOS 上实测 Postman 12.34 留下的 5 处痕迹:日志记录、Claude Code 插件和 SessionStart 指令、Codex 配置、Cursor 插件目录、Postman CLI,给出只读自查脚本和逐个卸载命令。

2026-11-04 09:29:13 475

原创 WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)

用 WorkBuddy 做网页小游戏的真实账本:深海钓鱼游戏 43 次对话 301 积分、刀之进化游戏 16 次 108 积分,积分花在哪、怎么提需求最省,以及分享页是跨域 iframe 导致手机横屏失败、改用 CSS 旋转 90° 的解决办法。

2026-11-03 10:23:52 1092

原创 一个端口能被两个程序同时监听吗:SO_REUSEADDR、SO_REUSEPORT Java 实测和 Spring Boot 端口被占照样启动的坑

一个端口能不能被两个进程同时监听?用 JDK 17 在 macOS 上实测 8 种绑定组合、SO_REUSEADDR、SO_REUSEPORT、TCP 与 UDP 同端口和 TIME_WAIT 重启,并复现 Spring Boot 端口被占却照样启动、本机请求被别的进程截走的坑,附 Port 8080 was already in use 的排查步骤。

2026-11-03 10:21:59 200

原创 如何降低 Claude Code 使用费用:同一个 Java 修 bug 任务实测 6 种设置,花费从 0.69 到 0.02 美元

Claude Code 费用怎么降?用同一个 Java 订单金额修 bug 任务实测 Opus、Sonnet、Haiku、effort、safe-mode 和缓存 TTL 共 6 种设置,花费从 0.69 到 0.02 美元,并按官方价格表拆出钱花在哪:多数花在写缓存,不在输出。

2026-11-03 10:20:25 150

原创 MySQL 批量插入很慢怎么办:rewriteBatchedStatements 实测 10 万行从 4.5 秒到 1 秒(JDBC、MyBatis、LOAD DATA 对比)

JDBC addBatch、MyBatis ExecutorType.BATCH 插入 MySQL 很慢,多半是没开 rewriteBatchedStatements。本文在 MySQL 8.2 上实测 9 种写法插入 10 万行的耗时和实际发出的语句数,并整理参数不生效的常见原因。

2026-11-02 10:47:05 374

原创 Claude Code Skills 怎么写:SKILL.md 格式、自动触发和命令注入的 3 个坑(2.1.299 实测)

Claude Code Skills 怎么写?本文从零写一个检查 MyBatis Mapper XML 里 ${} 注入风险的 Skill,讲清 SKILL.md 格式、description 怎么写才会自动触发、命令注入和 allowed-tools,并实测 3 个会让 Skill 中止或给出错误结论的坑。

2026-11-02 10:45:31 247

原创 WorkBuddy 使用技巧:Claude Code 国内平替,签到免费用、自动签到和手机远程控制电脑

WorkBuddy 是腾讯出的桌面 AI Agent,能力和 Claude Code、Codex 很像,国内直接用。本文讲它适合干什么、签到积分够不够用(附我 4 天的真实消耗)、怎么设置自动签到、手机 App 怎么远程控制电脑,以及几个设置建议。

2026-10-30 16:07:45 203

原创 Spring Boot 4 注入 ObjectMapper 报找不到 Bean:升级 Jackson 3 的改法和过渡方案(4.1.2 实测)

Spring Boot 4 默认用 Jackson 3,包名换成 tools.jackson,老代码注入 ObjectMapper 会编译失败或启动找不到 Bean。4.1.2 实测两种报错,给出 JsonMapper 改法和 spring-boot-jackson2 过渡方案。

2026-10-30 09:15:12 383

原创 Claude Code 怎么做代码审查:code-review 命令用法、effort 档位和 --fix 实测

AI 写代码越来越快,人工 Review 跟不上。本文用 Claude Code 2.1.299 自带的 /code-review 审一段预埋 4 个 bug 的 Java 代码:low 和 high 档各找到几个、花多少钱,--fix 改了什么、没改什么,以及怎么接进提交前流程。

2026-10-30 09:13:34 311

原创 Spring AI MCP Server 怎么接入 Claude Code:Spring Boot 用 @McpTool 暴露接口(Spring AI 2.0.2 实测)

用 Spring AI 2.0.2 的 @McpTool 把 Spring Boot 接口暴露成 MCP 工具,走 Streamable HTTP 接入 Claude Code。全程实测:curl 走通握手和调用,claude -p 查订单,附 SSE 已废弃、工具默认被标成破坏性操作等坑的处理。

2026-10-29 12:37:27 329

原创 Mac 自带 git、curl 还信任泄露的 eMudhra 证书怎么办:检测脚本和不用 sudo 的修复(macOS 15 实测)

eMudhra 中间 CA 私钥泄露后,Safari 已封禁,但 macOS 自带的 git、curl、python3 还读 /etc/ssl/cert.pem,照样信任伪造证书。本文在 macOS 15 上实测三者全部中招,给出一键检测脚本,以及不改系统文件、只改用户配置的修复办法和副作用。

2026-10-29 12:35:06 382

原创 chrome-use 使用教程:让 Claude Code 操控已登录的 Chrome(禅道、ONES 实测)

chrome-use 是一个 CLI 兼 MCP,让 Claude Code 直接用你已登录的 Chrome。本文记录在 macOS 上的安装过程,以及用它只读查询禅道 Bug 列表、ONES 维护工单的完整命令和踩坑。

2026-10-28 13:42:26 937

原创 CVE-2026-91403 Java 证书漏洞怎么自查和修复:eMudhra 中间 CA 泄露,JDK 8、11、17 实测

Oracle 10 月 21 日发布 CVE-2026-91403:eMudhra 8 个中间 CA 私钥可被算出,JDK 默认信任库会信任用它们签发的伪造证书。本文用公开测试站点实测 JDK 8/11/17 共 5 个版本,老版本通过 AAA 交叉签名同样中招;给出按指纹自查脚本,以及删根证书、开启吊销检查两种临时修复和各自副作用。

2026-10-28 09:36:06 697

原创 macOS 终端 java 命令按 TAB 很卡怎么办:zsh 补全在扫描 .class 文件,一行配置解决

macOS 装了多个 JDK 后,终端敲 java 再按 TAB 卡住几秒甚至几分钟。原因是 zsh 自带的 java 补全会递归扫描当前目录的 .class,并对 CLASSPATH 里每个 jar 执行 jar -tf。本文实测家目录一次 TAB 耗时 620 秒、100 个 jar 26 秒,给出一行配置的修复方法(改后 0.22 秒)和自测脚本。

2026-10-28 09:34:28 265

原创 Obsidian安装使用教程:核心插件配置与图片自动上传、Claude Code插件实战

Obsidian 安装使用教程(1.14):安装、基础设置、核心插件,Templater、Advanced Tables、Excalidraw 三个常用插件,以及用 Image auto upload + PicGo 自动传图床、用 Claudian 接入 Claude Code。

2026-10-27 17:11:34 600

原创 Claude Code effort 用什么级别:五个档位是什么、什么时候该调(Opus 5.5)

Claude Code 的 effort 是控制模型想多深的档位。本文用白话讲清 effort 是什么、和换模型有什么区别、Opus 5.5 默认 medium 时要不要调、low 到 max 五个档位分别适合什么活,以及用 /effort、--effort、ultrathink 调整的方法,和用户配置里老 effortLevel 对 Opus 5.5 不生效的坑。

2026-10-27 10:30:43 267

原创 Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)

Spring AI 2.1 把 ChatMemory、MessageWindowChatMemory、MessageChatMemoryAdvisor 和 JDBC/Redis 等记忆仓库都标成了待删除,替代品是 Session Memory。本文基于 2.1.0-RC1 实测:依赖与 Advisor 怎么换、老 CONVERSATION_ID 是否兼容、记忆如何拼进 prompt、按轮压缩的效果、MySQL 表结构与建表注意点、过期会话的定时清理,以及老数据不迁移等坑。

2026-10-27 10:28:51 364

原创 2026免费部署平台推荐:国内外20个好用平台的后端、数据库与Java支持对比

2026 年还能免费用、而且好用的部署平台:Cloudflare Pages、Northflank、Render、AWS Lambda、TiDB Cloud、Neon、EdgeOne Pages 等 20 个,逐个标明能否跑后端、带不带数据库、支不支持 Java、国内能否访问。

2026-10-26 17:44:52 479

原创 AGENTS.md 投毒劫持 AI 编程 Agent:Claude Code 与 Codex 防护配置实战

10 月 25 日安全公司披露:下载目录里一个恶意 AGENTS.md 让 AI 编程 Agent 自动安装恶意 npm 包,同类手法可让 Claude Code 泄露 OAuth 令牌。本文拆解攻击链,给出启动目录守卫、递归扫描指令文件、PreToolUse 拦截 hook、沙箱与托管配置的防护方案,附已知绕过清单和中招后的处置步骤。

2026-10-26 10:39:14 443

原创 Spring Boot 升级配置迁移实战:properties-migrator 让废弃配置启动即失败(含 3.x 方案)

Spring Boot 升级后配置 key 改名或删除,旧 key 会被静默忽略。4.2.0-RC1 给 spring-boot-properties-migrator 加了 spring.properties.migrator.fail,可让启动直接失败。本文实测三档模式、可检测的配置来源和 @PropertySource 盲区,给出 4.2 的 CI 门禁写法,以及 Boot 3.x 用日志捕获实现同样效果的测试类。

2026-10-26 10:37:28 337

原创 RestTemplate 废弃后迁移 RestClient 实战:Spring Boot 4.2 升级指南

Spring Framework 7.1 给 RestTemplate 打上 @Deprecated(forRemoval=true),计划 8.0 删除,Spring Boot 4.2.0-RC1 同步废弃 RestTemplateBuilder。本文给出 RestTemplate 到 RestClient 的方法对照、拦截器与超时配置、异常处理、HTTP Interface 替代 Feign、MockRestServiceServer 测试的完整迁移步骤。

2026-10-23 15:45:26 186

原创 Claude Code Mods 开发教程:写一个拦截危险 SQL 和发布命令的插件

Claude Code Mods 是 10 月上线的插件新能力,用 JS/TS 函数直接挂到工具调用、提示词、界面渲染等事件上。本文从目录结构讲起,带你写一个拦截 DROP/TRUNCATE、无 WHERE 的 DELETE、mvn deploy 的 Java 后端守卫插件,并说明 tool.call、tool.check、fail-closed 的用法和坑。

2026-10-23 15:28:25 410

原创 Requestly规则使用技巧:前端联调、接口Mock与网络请求调试实战

这篇文章不罗列 Requestly 的所有按钮,而是围绕日常开发中最常见的几个问题,讲清楚规则怎么匹配、怎么组合,以及规则没生效时应该从哪里排查。:Requestly HTTP Interceptor 浏览器扩展与 Desktop App,内容依据 2026 年 7 月 30 日可访问的官方文档整理。Requestly 会持续更新界面,菜单文字可能调整,但本文涉及的规则类型和匹配思路仍然适用。

2026-07-30 15:12:40 289

原创 F5-TTS 与 CosyVoice 2 实战对比:开源声音克隆怎么选

2024 年下半年,开源 TTS 圈子像开了挂。GPT-SoVITS 还在卷社区,F5-TTS 凭着 DiT + Flow Matching 的架构横空出世,CosyVoice 2 紧跟着阿里通义的牌子把 MOS 分刷到了 5.53。我那阵子正想做视频旁白配音,想用自己声音克隆,于是两个都上手跑了一遍。轻量、本地、要快选 F5-TTS;要最自然的中文效果、能上 GPU 选 CosyVoice 2。下面是我整理的对比。维度F5-TTS出品方上海交大/西湖大学阿里通义实验室架构。

2026-06-15 14:34:50 680

原创 Linux Jar包配置Systemd自启动实战:从排查到配置全流程

摘要:本文详细记录了在生产环境中为未配置自启动的Java Jar包配置Systemd服务的实战过程。从排查现有进程、确认无自启动配置,到编写Systemd Service文件并区分forking和simple两种模式,最终实现服务开机自启。文章提供了完整的配置示例、常用命令速查表及常见问题解答,特别适合运维人员快速解决Java服务自启动问题。关键点包括:如何选择正确的Type类型、利用现有启停脚本、验证服务状态以及日志查看方法,帮助读者避免服务因服务器重启而中断的风险。

2026-06-08 19:55:26 267

原创 Claude Code 变慢排查指南:模型选择与 Effort 参数详解

摘要:Claude Code变慢主要与模型选择和Effort参数设置相关。Opus 4.7采用新分词器,token消耗增加35%,且默认Effort升级至xhigh,导致处理速度下降。建议根据场景调整:日常开发用Sonnet 4.6+Medium,复杂任务用Opus 4.7+Xhigh,快速查询用Haiku+Low。排查时检查模型版本(/model)、Effort级别(/config)及Claude Code版本(≥v2.1.116)。API调用需注意Opus 4.7仅支持adaptive思考模式,传统参数

2026-06-08 11:09:56 646

原创 MySQL索引优化实战:排序、批量IN、范围查询一网打尽

title: “MySQL索引优化实战:排序、批量IN、范围查询一网打尽”:线上慢查询里最常见的就是三类——排序慢、IN 查询慢、范围查询慢。这篇文章我用一个真实的订单表做例子,把这三类问题串起来讲,告诉你索引该怎么建、列顺序怎么排、EXPLAIN 怎么看。

2026-06-03 13:42:35 222

原创 解决 AI Agent 使用 Playwright 频繁下载 Chromium 的问题

本文针对AI IDE(如Trae/Cursor)使用Playwright MCP时频繁下载Chromium的问题,深入分析了问题根源:MCP Playwright版本随IDE更新自动变化,导致每次更新都要求下载对应版本的Chromium(100MB+)。文章提出了4种解决方案:1)改用Python Playwright方案(推荐),通过pip固定版本;2)固定MCP Playwright版本;3)修改浏览器路径;4)使用Docker容器化方案。其中重点推荐Python方案,给出了完整的安装命令和示例代码(I

2026-05-31 21:11:01 497

原创 MySQL IN 大批量数据查询优化:生产环境 5 种实战方案

MySQL IN 大批量数据查询优化方案总结 当 MySQL 的 IN 子句包含大量参数(如上千个值)时,会导致性能急剧下降。本文提出 5 种生产环境验证的优化方案: 临时表+JOIN:将 IN 列表存入内存临时表,通过 JOIN 实现 O(1) 查找,适合可创建临时表的场景。 分批查询:应用层将参数分批次查询(每批200个),内存合并结果,适合无法改 SQL 结构的场景。 子查询替代:用子查询动态生成 IN 值,MySQL 5.6+ 会优化为半连接(semi-join)。 JSON_TABLE(MySQL

2026-05-31 18:44:32 388

原创 CLI-Anything 公开工具全解析:16 个核心工具能干什么、什么时候该用

全面解析 CLI-Anything 的 16 个核心公开工具,详细说明每个工具的功能、适用场景和后端引擎,以及 Agent Harness 7 阶段流水线架构详解。

2026-05-29 17:05:53 287

原创 mootdx Python 个股分析实战:从数据获取到技术指标计算

本文介绍了使用 Python 和 mootdx 进行 A 股个股分析的完整流程。mootdx 是基于通达信协议的免费股票数据接口,支持实时行情和分钟级数据获取。文章详细讲解了安装配置、数据获取方法(K 线、实时报价、分时数据),并手把手实现了常见技术指标的计算,包括均线(MA)、MACD、KDJ 等,提供了完整的可运行代码。该方法适合想要免费获取股票数据进行量化分析的 Python 开发者,无需依赖付费数据接口即可完成从数据获取到技术分析的全流程。

2026-05-29 08:57:56 653

原创 macOS 多版本 JDK 切换实战:从踩坑到一行命令搞定

title: “macOS 多版本 JDK 切换实战:从踩坑到一行命令搞定”:Mac 上装了 JDK 8、11、17 多个版本,用 alias 切换后还是指向旧版本?这篇文章记录了我踩过的这个经典坑,分析了原因,最后给出一个干净利落的解决方案——一个jdk()函数,jdk 8jdk 11jdk 17一行搞定。

2026-05-28 20:43:08 257

原创 IDEA终端配置oh-my-zsh实战:安装、插件与日常使用技巧

摘要:本文详细介绍了如何在IntelliJ IDEA内置终端中配置oh-my-zsh以提升开发体验。主要内容包括: 安装步骤:通过curl一键安装oh-my-zsh,并修改IDEA终端路径为zsh 核心插件配置: zsh-autosuggestions(命令自动补全) zsh-syntax-highlighting(语法高亮) z(智能目录跳转) sudo(快速提权) 主题定制:推荐agnoster主题及Powerlevel10k终极方案 实用技巧:IDEA终端快捷键、git别名优化及多会话管理 配置后终端

2026-05-28 14:37:05 447

Java【Java虚拟机】基于内存结构与垃圾回收机制的JVM核心原理分析:堆栈分配、类加载及性能调优策略设计

内容概要:本文系统梳理了Java虚拟机(JVM)的核心知识体系,涵盖JVM内存结构、对象创建与访问机制、垃圾收集策略与算法、常见垃圾收集器特性、内存分配与回收策略、类文件结构及类加载机制等内容。重点讲解了程序计数器、Java虚拟机栈、堆、方法区、直接内存等内存区域的特点与作用,深入剖析了对象的内存布局、可达性分析、引用类型、分代收集算法以及HotSpot虚拟机的G1、CMS等收集器的工作原理。同时,详细阐述了类加载的时机、过程、双亲委派模型及其安全性意义。; 适合人群:具备一定Java基础,从事Java开发1-3年并对JVM原理感兴趣的中级研发人员;准备面试或希望深入理解Java底层机制的技术人员。; 使用场景及目标:①理解JVM各内存区域的职责与异常场景;②掌握对象创建、内存分配与垃圾回收的核心机制;③熟悉类加载全过程及双亲委派模型的设计原理;④为性能调优、内存溢出排查、系统稳定性优化提供理论支撑; 阅读建议:此文档适合作为JVM知识的系统性复习资料,建议结合实际代码调试与内存分析工具(如jmap、jstat)进行实践验证,重点关注内存模型、GC日志分析与类加载机制的实际应用。

2025-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除