每日精选
技术专区

置顶 精华 原创 Spring Boot 3 优雅处理全局异常的 5 种方式(含源码)

前言 如果每个 Controller 都写 try-catch,代码会变得又臭又长。Spring Boot 提供了多种全局异常处理机制,本文逐一对比。 方式一:@ControllerAdvice(最常用) 方式二:统一响应体 方式三:自定义异常 + 错误码枚举 方式四:实现 ErrorControl...
2个月前 阅读 4.6万 点赞 2441 评论 3 Java Spring Boot

置顶 精华 原创 深入理解 JVM 垃圾回收:从分代模型到 G1 调优实战

一、为什么要理解 GC Java 程序员不需要手动释放内存,但一旦出现 Full GC 频繁、STW 时间过长的问题,如果不理解垃圾回收原理,就只能靠猜。 一次典型的故障:某订单服务在大促期间 RT 从 50ms 飙升到 3s,监控显示每分钟触发 2~3 次 Full GC。 二、分代假说 JVM ...
2个月前 阅读 3.8万 点赞 1049 评论 3 Java JVM

置顶 精华 原创 Java 线程池参数详解与生产环境最佳实践(避坑指南)

一、为什么不推荐 Executors 阿里开发手册明确禁止使用 Executors 创建线程池,原因是: newFixedThreadPool 使用无界队列 LinkedBlockingQueue,可能 OOMnewCachedThreadPool 最大线程数为 Integer.MAX_VALUE,...
1个月前 阅读 1.6万 点赞 870 评论 2 Java 并发编程

置顶 原创 GitBlog 实测:JVM 垃圾回收调优(已修订)

# JVM 垃圾回收调优 修订版正文:ZGC 的停顿时间都在亚毫秒级。 ![架构图](https://www.tianyanet.xyz/data/upload/gitblog/9/436eac605cc24d4bb37394479c2393c8.png) ## 定时同步验证段 这一段是 2026-...
4天前 阅读 16 点赞 0 评论 0 Java JVM

原创 Python asyncio 异步编程实战:从协程到高并发爬虫

一、协程 vs 线程 | 维度 | 线程 | 协程 | | --- | --- | --- | | 切换成本 | 内核态,微秒级 | 用户态,纳秒级 | | 并发数 | 数百 | 数万 | | 数据共享 | 需加锁 | 单线程无需锁 | | 适用场景 | 混合任务 | 纯 IO 密集 | 二、最简示...
3个月前 阅读 3.9万 点赞 2319 评论 0 Python 并发编程

原创 2026 Java 后端面试高频题 TOP20(含标准答案)

1. HashMap 底层实现 数组 + 链表 + 红黑树。默认容量 16,负载因子 0.75,链表长度 >8 且数组长度 ≥64 时树化。hash() 用高 16 位异或低 16 位减少碰撞。扩容时 1.8 采用高位拆分,避免死循环。 2. synchronized 与 Lock 区别 | 维度 ...
2个月前 阅读 4.3万 点赞 2237 评论 0 Java 面试

精华 原创 Docker Compose 一键部署 LNMP 环境(含完整配置文件)

一、目录结构 二、docker-compose.yml 三、Nginx 配置 四、PHP Dockerfile 五、启动与验证 访问 http://localhost 看到 PHP 信息页即成功。 六、常见坑 502 Bad Gateway:检查 fastcgi_pass 是否用了服务名 php:9...
20天前 阅读 4.7万 点赞 2040 评论 2 Linux Docker

原创 Flink 实时计算入门:从 WordCount 到状态管理

一、Flink 核心特性 流批一体:DataStream API 统一处理有界/无界数据事件时间语义:按数据自带时间戳计算,处理乱序数据精确一次(Exactly-Once):Checkpoint + 两阶段提交状态管理:Keyed State / Operator State 二、WordCount...
2个月前 阅读 3.3万 点赞 1832 评论 0 Spark Flink

原创 TypeScript 泛型进阶:条件类型、映射类型与实战应用

一、泛型基础回顾 二、泛型约束 三、keyof 与索引访问 四、条件类型 五、infer 的高级用法 六、映射类型 七、实战案例一:类型安全的 API 请求 八、实战案例二:表单校验类型 九、实战案例三:模板字面量类型 十、工具类型速查 | 类型 | 作用 | | --- | --- | | Par...
25天前 阅读 3.2万 点赞 1449 评论 0 TypeScript 前端开发

原创 Nginx 反向代理与负载均衡配置完全手册

一、基础反向代理 二、五种负载均衡策略 三、动静分离 四、HTTPS 配置 五、WebSocket 代理 六、限流 七、跨域 CORS 八、常用优化参数
3个月前 阅读 4.3万 点赞 1336 评论 1 Nginx Linux

原创 Linux 服务器性能排查:15 个必会命令与实战套路

一、整体概览 二、CPU 排查 关键指标:us 高:用户态代码问题(算法、死循环)sy 高:内核态(频繁系统调用、上下文切换)wa 高:等待 IO(磁盘瓶颈)cs 高:上下文切换频繁三、内存排查 四、磁盘 IO iostat 关键列:%util(设备繁忙度,>80% 说明饱和)、await(IO 等...
1个月前 阅读 4.2万 点赞 1273 评论 0 Linux 性能优化

原创 Transformer 注意力机制图解与 PyTorch 手写实现

一、注意力在解决什么问题 RNN 时代,序列靠隐状态传递信息,长距离依赖会衰减。注意力机制让每个位置直接看到所有位置,一步到位。 二、QKV 是什么 把注意力类比数据库查询: Query(查询):当前位置想找什么Key(键):每个位置能提供的"标签"Value(值):每个位置实际携带的信息 流程:用...
1个月前 阅读 4.1万 点赞 1203 评论 0 深度学习 机器学习

精华 原创 pandas 数据处理 10 个高效技巧,让分析速度提升 5 倍

1. 用向量化替代 apply 2. 用 query 简化布尔索引 3. 用 category 类型省内存 4. 分块读取大文件 5. 指定 dtype 减少内存 6. 用 map 做字典映射 7. groupby + agg 一次聚合多列 8. 用 merge 时注意索引 9. 避免链式赋值 10...
1个月前 阅读 2.1万 点赞 1181 评论 3 Python 数据分析

原创 移动开发技术选型 2026:原生、Flutter 还是 React Native

一、三种方案对比 | 维度 | 原生 (Kotlin/Swift) | Flutter | React Native | | --- | --- | --- | --- | | 渲染 | 系统原生控件 | Skia 自绘 | 原生控件桥接 | | 性能 | ★★★★★ | ★★★★☆ | ★★★☆☆...
2个月前 阅读 2.9万 点赞 1078 评论 0 Android iOS

原创 Redis 分布式锁的正确实现:从 SETNX 到 Redisson 看门狗

一、错误示范:先 setnx 再 expire 二、正确姿势:原子命令 为什么必须校验 value:防止 A 线程超时后,B 获得锁,A 恢复后误删 B 的锁。 三、锁续期(Watch Dog) 业务执行时间超过锁超时时间的解决方案: 四、直接使用 Redisson Redisson 帮我们做了: ...
1个月前 阅读 3万 点赞 1003 评论 2 Redis 分布式锁

原创 Web 安全必知必会:XSS、CSRF、SQL 注入的原理与防护

一、XSS(跨站脚本攻击) 原理 用户输入被当作 HTML/JS 执行。 三种类型 | 类型 | 触发方式 | 示例 | | --- | --- | --- | | 反射型 | URL 参数直接输出 | search?q= | | 存储型 | 存入数据库再展示 | 评论区、昵称 | | DOM 型 ...
3个月前 阅读 1.9万 点赞 984 评论 0 Web安全 渗透测试

精华 原创 MySQL 索引失效的 12 种场景与解决方案(附执行计划分析)

准备测试表 1. 隐式类型转换 2. 对索引列使用函数 3. 违反最左前缀 4. OR 连接非索引列 5. != / NOT IN / NOT EXISTS 6. IS NULL / IS NOT NULL 7. LIKE 左模糊 8. 范围查询后的列失效 9. 字符集/排序规则不一致 10. 数据...
3个月前 阅读 1.9万 点赞 713 评论 2 MySQL 性能优化

精华 原创 从零实现一个轻量级 Python 爬虫框架(300 行代码)

一、框架整体设计 一个最小可用的爬虫框架需要五个模块: Scheduler:URL 调度与去重Downloader:发送 HTTP 请求Parser:解析响应内容Pipeline:数据持久化Engine:驱动整个流程 二、核心代码 三、引擎与并发 四、使用示例 五、可优化方向 用 asyncio +...
24天前 阅读 7618 点赞 503 评论 0 Python 爬虫

原创 Kubernetes Pod 调度全解析:从 nodeSelector 到亲和性调度

一、调度器工作流程 二、最简单:nodeName 三、nodeSelector(标签选择) 四、节点亲和性(更强大) 支持的 operator:In、NotIn、Exists、DoesNotExist、Gt、Lt 五、Pod 亲和性与反亲和性 场景:Web 服务与缓存尽量靠近;同一应用的副本尽量分散...
1个月前 阅读 1.9万 点赞 462 评论 0 Kubernetes Docker

原创 Go 并发模式实战:Worker Pool 与 Pipeline 的优雅实现

一、最简 Worker Pool 二、支持优雅退出 三、Pipeline 模式 四、使用 errgroup 管理错误 五、限制并发数 六、常见坑 goroutine 泄漏:channel 没人读也没人写,goroutine 永久阻塞for 循环变量捕获:Go 1.22 前必须 i := i 重新声明...
2个月前 阅读 3962 点赞 171 评论 0 Go 并发编程