自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无所事事的博客

无所事事的博客

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 一把空锁卡死整个服务:虚拟线程 pinning 问题实战

JDK 21 的服务,日志不写了,接口全超时,jstack 里还找不到谁持有锁。最后发现问题出在虚拟线程的调度器上,和锁本身关系不大。

2026-10-27 11:36:52 341

原创 如何让AI写代码越写越像你

本文介绍了一种利用Claude Code的Hook机制自动记录和提炼个人编码风格的实践方案。通过四个脚本实现:1)关键词触发追踪;2)修改前快照;3)修改后快照;4)生成diff和AI摘要并归档。系统自动记录每次代码优化会话,通过定期人工复盘提炼高频模式形成编码规范,使AI生成的代码越来越符合个人风格。方案本质是建立"AI修改-自动记录-人工提炼-规范更新"的反馈闭环,将被动积累的经验转化为主动的编码约束,最终减少人工对齐的工作量。

2026-04-30 19:17:56 440

原创 别再折腾 LSP 了,IDEA MCP Server 才是 Java 程序员的正确选择

文章比较了Java开发中两种AI辅助工具方案:传统LSP和IDEA MCP Server。LSP存在进程管理复杂、编译等待时间长、生成冗余文件等问题,特别是对大型项目不够稳定。IDEA MCP Server作为JetBrains官方插件,直接利用IDEA已有的代码分析能力,无需额外进程,避免了LSP的缺陷。安装配置简单,只需在IDEA插件市场安装MCP Server并连接到AI工具即可。该方案特别适合已在用IDEA的Java开发者,相比LSP更稳定高效,但对于使用其他编辑器的开发者仍需依赖LSP。

2026-04-30 17:09:33 837 2

原创 AI接入2FA验证码

不用掏出手机,不用切换 App,在终端直接说「帮我获取 GitHub 的验证码」——Claude 就把结果输出来了。

2026-04-05 20:58:13 477

原创 IntelliJ IDEA 无法识别 Maven SNAPSHOT 依赖,但 Maven 编译正常

Maven CLI解析 SNAPSHOT 依赖每次读取,始终准确使用缓存,仅 Reload 时更新能否修复不能,该目录不在清除范围内修复方式无需修复手动修改或触发成功的 Maven Reload。

2026-03-11 17:35:38 456

原创 从一个真实案例理解JVM标量替换

不逃逸生命周期完全受控不需要对象身份(identity)那么 JVM 会彻底消除对象分配将对象的字段拆成若干个局部变量(标量)。内存写入顺序happens-before 关系并发可见性对象构造语义(尤其是 final 字段)潜在的同步 / volatile 影响JVMTI / safepoint 可见性JVM 要“假装这个对象从未存在过”。对象逻辑上可被 GC但不能被标量替换原因是字段值进入了不可建模的外部调用JVM 无法证明“对象从未存在过”是语义透明的。

2026-01-05 10:35:18 805

原创 【监控报警体系建设】系统自动添加所有出入口监控

所以我们需要把这些固定需要添加监控的地方,自动生成监控。通过之前的两篇文章我们已经确定了监控与报警的标准。

2025-12-02 10:59:18 677

原创 如何在币安启用双重身份验证(2FA)?

双重身份验证(2FA)是一种多层安全机制,要求用户在获得账户访问权限前先验证身份。这能够进一步增强账户安全性,防止未经授权的访问。2FA 对于保护用户的加密资产和币安账户尤为重要。即使黑客成功获取了用户密码,他们仍需要进行二次验证(例如使用谷歌验证器),才能访问您的账户,这大大增加了破解账户的难度。

2025-11-28 09:47:43 489

原创 JAVA中不同类型内存读写性能差异

java中有三种数据载体,当我们进行序列化操作时,必然选择其中之一今天我测评了一下,方便今后做性能优化时进行参考。

2025-11-24 11:48:18 281

原创 效率提升之正则替换

如果你的答案是肯定的,那么恭喜你,今天这篇文章将是你的救星!更重要的是,掌握这门技能后,你在同事眼中的形象将从"勤奋的码农"一跃成为"高效的魔法师"。正则表达式虽然还有更多高级复杂的用法,但是你只需要掌握上面的部分就已经能处理日常工作中的大部分文本问题了,如果你想学习更多更高级的用法,可以阅读一下文章。接下来,我将带你进入正则表达式的奇妙世界,从基础示例到语法技巧,一步步掌握这门让工作效率倍增的技能。在正则表达式中,我们可以指定某个字符或组出现的次数,这让我们的匹配更加灵活。

2025-11-21 16:28:10 693

原创 正则表达式详解

本文内容略长,几乎涵盖了正则表达式的全部内容。并且今后可能需要反复查阅文中的语法规则是通用的,但是对于转义使用的斜线在不同的语言中可能会有所不同,比如java中是 \. 表示转义后的 .在不同的语言或工具中正则的功能支持可能会有所不同,比如某些工具里可能会不支持反向引用等功能正则表达式的性能通常都不会太高,相同功能的表达式可以有多种写法,会极大的影响性能,也不推荐写过于复杂的表达式,难以理解,不好维护,不推荐在代码中大量使用。

2025-11-21 16:26:42 781

原创 【监控报警体系建设】报警标准与最佳实践

本文介绍了生产项目报警体系的设计标准与实践指南。报警分为三类:语音类(紧急)、消息类(重要但不紧急)和邮件类(低关注度)。建议将报警渠道统一到专用报警系统,支持动态配置、频率限制和告警升级机制。同时指出三大常见错误:报警内容不简洁、频率失控和发送无需处理的报警。强调报警体系应确保重要问题及时被发现,同时避免报警疲劳。文末推荐了"两步动态验证"微信小程序,提供安全的双重认证功能。

2025-11-19 16:47:16 511

原创 二次验证码介绍及使用

2FA验证码简介 2FA(两步验证)是一种安全机制,通过要求用户提供两种验证因素(如密码+动态验证码)来确认身份。2FA验证码是基于时间或计数器生成的一次性6位数字密码,每30-60秒更新一次,采用TOTP或HOTP算法工作。 用户可通过微信小程序"两步动态验证"来生成2FA验证码,支持二维码扫描和手动添加密钥两种方式。该小程序提供云端加密备份、多端共享和API接口等功能,方便安全地管理验证码。对于开发者,还可以通过API接口程序化获取验证码。 核心特点: 增强账户安全性 动态变化的验证

2025-11-15 17:03:01 1141

原创 【监控报警体系建设】监控标准与最佳实践

因此,我梳理并总结了一套生产项目应具备的完整监控标准。如果监控类型是timer,则需要配置avg,tp50,tp90,tp99,tps,在同一个图中,左边y轴为耗时,右边y轴为次数。项目需要提供http接口供普罗米修斯拉取监控数据,需要提供http接口给运维配置到普罗米修斯上。spring boot项目一般引入actuator包,然后配置以下配置提供http接口。假设监控的key是GET__api_v1_order则配置如下。如果是counter类型的监控则只有tps。将重要和关键的监控单独分组。

2025-11-12 15:58:26 991

原创 低版本NACOS自动刷新@Value变量

ApplicationListener接口通知我们变量发生变化时,将参数转化一下传给AutoUpdateConfigChangeListener的方法。新写一个类继承AutoUpdateConfigChangeListener,并实现ApplicationListener接口。向spring中注入SpringValueProcessor类。变量自动刷新完成,测试一次通过。

2025-08-21 17:46:13 342

原创 JAVA应用不定时卡顿问题排查

然后所有线程都会暂停由一个name为VM Thread的jvm线程执行,执行时间会有几秒不等,http请求结束后卡顿结束。查看历史dubbo打印的线程堆栈,搜索拉取线程的代码sun.management.ThreadImpl.getThreadInfo。首先从上面的top命令截图中可以确认,http请求线程开始执行的时间点就是问题开始的时间点,http请求线程结束的时间点也是问题恢复的时间点。后续又核对了几次问题发生时的情况,最终确认了这个就是源头。我们的应用有大概3000个线程,因此频繁触发此问题。

2025-08-15 11:18:43 582

原创 基于netty的websocket服务优化

【代码】基于netty的websocket服务优化。

2025-02-24 20:30:47 930

原创 加密过程及原理浅析

加密过程及涉及内容浅析

2024-06-11 12:03:30 1270

原创 【原创】xxljob集群模式下调度失败问题排查

排查旧版本xxljob集群模式下调度任务有时会报错的问题过程

2024-06-05 11:54:48 1263

原创 【原创】网关限流功能性能优化

网关限流功能性能优化

2024-06-05 11:10:38 1285 2

ai编程,claude code hook插件,自动记录代码优化时的内容

如果你也在用 Claude Code,可以把这几个脚本直接拿去用,自动记录代码优化的内容,按自己的关键词触发逻辑和归档路径改一改就行。 **Hook 安装格式说明:** 脚本通过 stdin 接收 JSON 数据(包含 `session_id`、`tool_input`、`prompt` 等字段),正常退出码为 0。`PreToolUse` 的脚本若返回非 0,会阻断当次工具调用——所以 `opt_capture_before.py` 在找不到 session 追踪时直接 `sys.exit(0)` 而不报错。配置写在 `~/.claude/settings.json` 的 `hooks` 字段下,支持 `matcher` 正则过滤触发的工具名。 四个脚本见:[word/code/](code/) - `opt_track.py` — 关键词检测,追踪轮次初始化 - `opt_capture_before.py` — 修改前快照 - `opt_capture_after.py` — 修改后快照 - `opt_write_record.py` — 生成 diff + 摘要 + 写入归档

2026-04-30

claude接入2FA验证码skills

claude接入2FA验证码skills 通过微信小程序【两部动态验证】的api接口,使AI可以实时获取动态的TOTP二次验证码

2026-04-05

低版本NACOS自动刷新@Value变量

1.引入apollo-client包 2.配置开启变量actuator.nacos.refresh.enhance.enable: true 即可自动刷新所有的@Value变量

2025-08-21

websocket服务脚手架,包含快速订阅,自定义数据压缩,防止缓冲区打满等功能的demo

websocket服务脚手架,包含快速订阅,自定义数据压缩,防止缓冲区打满等功能的demo 适用于netty和websocket学习研究

2025-02-25

xxljob集群模式下调度报错测试类和修复类

JettyClient可以模拟xxljob发送触发任务请求 MyXxlJobSpringExecutor将jettyserver端的空闲超时设置为10分钟 详细说明参见:https://www.cnblogs.com/wsss/p/17677651.html 只上传了类,所需依赖需要自己添加 代码很简单,看看应该就懂了

2023-09-04

Desktop.zip

代码详细说明见:https://www.cnblogs.com/wsss/p/11516318.html 注意没做循环加密和中文支持,因此需要自行修改一下,别说我坑啊,加密117字符以下没问题,只做参考

2019-09-13

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

TA关注的人

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