- 博客(896)
- 收藏
- 关注
原创 请求对象逃逸:一个本地正常、上线必挂的经典 Bug
在 Java Web 开发中,每一次 HTTP 请求进来,Tomcat 都会分配一个对象给当前线程使用。的生命周期仅限于当前请求线程,请求结束后该对象即失效,不得在异步线程中持有其引用。所谓"请求对象逃逸",就是把传入了新线程,让它的生命周期"逃"出了请求边界,从而引发不可预期的异常。场景结果本地开发,单人使用✅ 几乎必成功测试环境,偶尔访问✅ 大概率成功生产环境,正常并发❌ 概率性失败生产环境,多人同时操作❌ 必现深夜无人时触发定时任务✅ 大概率成功。
2026-03-25 18:45:52
318
原创 Tomcat /jvm类加载机制
Tomcat 的 WebApp ClassLoader 主动打破双亲委派,让classes/优先于lib/,同名类只认第一个找到的,后面的直接丢弃。
2026-03-22 00:02:50
251
原创 两步实现支付宝沙箱
流程就是:先访问支付链接 → 沙箱账号付款 → 看后端日志拿。→ 换掉上面查询和退款 URL 里的流水号即可。xxxx.com/test 即可访问测试界面。(把流水号换成 notify 回调拿到的)(GET 也能触发,因为你用的是。1、mvn坐标和yml配置文件。
2026-03-15 16:29:54
115
原创 google浏览器耗时分析Waterfall开启/展示
stalled ,代表前端准备就绪但尚未发出时间 、太久的话通常需更换电脑/新浏览器即可见分晓;
2026-03-14 11:56:04
20
原创 文件共享协议科普
你在"此电脑 → 网络"里看到的那些邻居电脑、NAS 设备,底层全部走的是SMB 是微软私有协议,但 Linux/Mac 也通过软件支持它,所以混合环境下也能互访。
2026-03-12 22:32:30
205
原创 window系统telnet 最佳方案
说明:rustscan 具备极高的telnet 速率 ,但用法和telnet有区别 、因此通过bat拦截改写;
2026-03-03 22:18:50
26
原创 关于 Oracle 数据库的大版本演进
标志着数据库全面支持 Web 浏览器访问,让数据库不再只是局域网的产物,而是互联网应用的核心。引入了“网格计算”概念,最著名的 RAC(实时应用集群)技术让多台服务器可以像一台机器一样工作,极大地提升了稳定性。其中被公认为史上最稳定的“一代神版本”。开启了云计算时代。引入了,允许在一个大容器库里塞进多个独立的小数据库,像云服务一样灵活分配资源。
2026-02-10 17:02:50
378
原创 Jenkins 流水线全流程实战笔记
开发提交:你本地 IDEAgit push代码。触发通知:Gitee 通过 Webhook 通知 Jenkins “有新代码了”。环境准备:Jenkins 启动流水线,加载 JDK 8 环境。编译构建:Jenkins 执行,生成。镜像制作:Jenkins 调用宿主机的 Docker,读取项目Dockerfile,把 jar 包打成镜像。服务部署:Jenkins 销毁旧容器,启动新容器(端口 8080)。最终效果:代码提交后,喝杯水的功夫,服务器上的应用已经自动更新为最新版本。
2026-01-18 18:36:58
549
原创 接口逆向(API Reverse Engineering)
小白:只会复制 cURL 重放。入门:能找到sign参数,用 Python 还原简单的加密算法。进阶 (RPC):搞不定混淆,利用浏览器环境算签名(我们刚才做的)。高手 (补环境):能把 JS 代码扣出来,在 Node.js 里完美模拟浏览器环境运行。大神 (底层):研究 TLS 指纹,甚至逆向 App 的 .so 文件(汇编层级)。
2026-01-11 14:19:08
1424
原创 大厂ES搜索引擎主流做法:基于 Binlog 的异步同步(CDC - Change Data Capture)
幂等性(Idempotency):ES 的文档 ID (_id) 必须等于 MySQL 的主键 ID。这样一来,如果 MQ 重发了消息(比如网络抖动发了两次),ES 执行两次,结果是一样的,不会出现重复数据。如果你先改了名字叫 “A”,毫秒级后又改名叫 “B”。如果 MQ 乱序了,先处理了 “B” 后处理了 “A”,那数据就错了。Kafka 的 Partition Key 设置为userId。这样同一个用户的变更永远在同一个队列里,严格有序。Binlog 里只有单表数据。
2026-01-11 12:12:18
328
原创 开发者网络测试神级小工具
特性NetLimiter (日常管家)Clumsy (暴力测试)主要目的限制带宽增加延迟/丢包使用频率长期后台运行仅在开发测试时打开控制粒度精确控制速度 (KB/s)模拟网络环境 (ms, %)对系统影响几乎无感,优化体验破坏体验,用完记得关!典型场景限制 Steam 下载速度,不影响看剧模拟 3G 网络、测试服务器宕机、复现 Timeout一句话建议:如果你嫌网速被抢,去装 NetLimiter;如果你嫌 Bug 难复现,或者想验证程序的健壮性,请打开 Clumsy。
2026-01-08 12:19:24
872
原创 Java “跨平台”指的是(.class 字节码)跨平台,而不是指 JVM 这个软件本身跨平台
Java 代码 (Bytecode)完全跨平台、跨架构。同一个.class丢到哪里都能跑。JVM (软件本身)不跨平台,也不跨架构。必须下载“专机专用”的版本。
2026-01-08 11:53:12
477
原创 排除controller懒加载情况,狂点接口很快,歇一会再点就慢?——揭秘后端性能的“冷热效应”
接口“忽快忽慢”不是玄学,而是计算机**“空间换时间”**策略的体现。慢,是因为系统在帮你省资源(关闭闲置连接)。快,是因为系统利用了缓存和复用(长连接、内存缓存)。下次再遇到这种情况,你可以自信地告诉老板:“不是代码写得烂,是我们在重新建立通往数据的高速公路。// 1. 替换为云服务器 IP (139.159.152.154)// 2. 数据库改用 'mysql' (系统自带库,防止报错 Unknown database 'a00')
2026-01-08 11:38:54
812
原创 项目现实问题:新规管新人新事,老问题怎么办?
对于已定型的旧项目(旧档案),不能简单地强行用新规范去“硬套”或“返工”,而应采取更务实、更具操作性的策略。这样,既尊重了历史和工作实际,又稳步推动了整体档案工作向新规范靠拢,体现了档案管理工作的专业性和智慧。不能用“新朝剑斩旧朝官”,正确的思路是。核心原则:承认历史,尊重现实,分类施策。
2026-01-06 10:14:23
206
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅