老废物乐园
首页
每日一书
关于
登录
菜单
首页
每日一书
关于
老废物乐园
瓜子的技术笔记 · Java / AI / 金融科技
归档
共 378 篇
2026 年
2025 年
2024 年
2023 年
2022 年
2021 年
2020 年
2019 年
2026 年
08 月
08-30
每日一书 #001|《金钱心理学》:为什么"撑得住"比"算得准"重要
每日一书
08-25
大模型推理加速:缓存、量化与批处理
AI 与智能体开发
08-13
事件驱动架构与 Agent 的深度结合
分布式与消息队列
07 月
07-23
Agent 的记忆持久化与跨会话连续性
AI 与智能体开发
07-14
AI 应用的数据架构:从 OLTP 到向量检索的统一
数据库与 SQL 优化
07-02
Java AI 框架选型:Spring AI、LangChain4j、Embabel 怎么选
AI 与智能体开发
06 月
06-18
AgentScope Java 2.0:阿里的企业级多智能体底座
AI 与智能体开发
06-10
AI 时代 Java 架构师的能力模型
架构设计与线上实战
05 月
05-29
Agent 执行的幂等性与事务边界
AI 与智能体开发
05-20
Spring 与 DeepSeek 战略合作后的生态变化
Spring / Spring Boot
05-07
AI 生成内容的合规与审核机制
AI 与智能体开发
04 月
04-27
知识库增量更新与版本管理方案
数据库与 SQL 优化
04-14
AI 场景下的缓存体系重构
中间件与缓存
04-04
JDK 25 紧凑对象头与内存占用优化
Java 核心基础
03 月
03-25
A2A 协议:智能体之间的协作标准
AI 与智能体开发
03-11
Spring AI 2.0 GA 实战:从 1.x 迁移到 AI 原生运行时
Spring / Spring Boot
03-04
AI 应用的多租户与数据隔离设计
AI 与智能体开发
02 月
02-21
MCP 无状态化改造对架构的影响
AI 与智能体开发
02-08
从 Copilot 到 Autonomous Agent:能力边界的把握
AI 与智能体开发
01 月
01-26
上下文窗口管理的工程实践
AI 与智能体开发
01-19
Embabel 1.0 与 GOAP:目标导向的智能体规划
AI 与智能体开发
01-05
Jlama:在纯 JVM 进程里跑大模型推理
AI 与智能体开发
2025 年
12 月
12-26
Agent Skills 规范:能力复用标准化的尝试
AI 与智能体开发
12-17
模型微调 vs RAG:成本与效果的量化对比
AI 与智能体开发
12-09
Agent 上生产半年:我们踩过的 10 个坑
AI 与智能体开发
11 月
11-27
Spring 生态在 AI 时代的新定位
Spring / Spring Boot
11-14
构建可演进的系统:八年技术选型复盘
架构设计与线上实战
11-04
AI 负载下 JVM 调优的新范式
JVM 与性能调优
10 月
10-23
一次线上 AI 服务的 Full GC 排查
JVM 与性能调优
10-11
虚拟线程三年:生产落地的经验与教训
Java 核心基础
10-04
把业务系统改造成 Agent 可用的工具
AI 与智能体开发
09 月
09-24
Spring Boot 4 迁移评估:值不值得现在动
Spring / Spring Boot
09-10
Java 模块化与原生化的最新进展
Java 核心基础
09-02
多智能体协作:任务分解与结果汇总
AI 与智能体开发
08 月
08-23
向量检索与结构化查询的混合架构
数据库与 SQL 优化
08-11
AI Agent 架构设计:从 ChatBot 到自主智能体
AI 与智能体开发
08-01
MCP 协议详解:AI 应用的 USB-C 接口
AI 与智能体开发
07 月
07-22
一次 LLM 流式调用导致的内存泄漏
JVM 与性能调优
07-09
LangChain4j Agent 框架实战
AI 与智能体开发
06 月
06-28
研发流程中的 AI 卡点设计
工程效能与工具链
06-19
幻觉问题的工程缓解方案
AI 与智能体开发
06-07
八年 Java 之路:技术成长的阶段与反思
架构设计与线上实战
05 月
05-31
Agent 评测:如何衡量一个智能体的好坏
AI 与智能体开发
05-18
分代 ZGC 生产环境一年的运行总结
JVM 与性能调优
05-07
Agent 应用的可观测性与调试困境
AI 与智能体开发
04 月
04-27
AI 应用下的 JVM 内存特征与调优
JVM 与性能调优
04-15
用 Java 实现一个 MCP Server 的完整过程
AI 与智能体开发
04-05
Spring Boot 3.5 新特性与生产实践
Spring / Spring Boot
03 月
03-27
Agent 的记忆系统设计:短期、长期与 episodic
AI 与智能体开发
03-18
Agent 工具调用的安全边界与权限控制
AI 与智能体开发
03-06
上下文工程:比 Prompt 工程更重要的事
AI 与智能体开发
02 月
02-22
Spring AI 与现有微服务架构的融合
Spring / Spring Boot
02-12
JDK 24 新特性与面向 AI 时代的演进
Java 核心基础
02-05
Project Leyden 与 Java 启动性能的未来
Java 核心基础
01 月
01-23
LLM 应用的混沌工程与容错演练
工程效能与工具链
01-16
知识库场景下的海量文档存储设计
数据库与 SQL 优化
01-07
Java 异步编程的终局:虚拟线程还是响应式
Java 核心基础
2024 年
12 月
12-24
Agent 任务编排与分布式调度的结合
分布式与消息队列
12-16
Agent 落地的成本控制:一次真实的账单分析
AI 与智能体开发
12-03
企业级 AI 中台的建设思路
架构设计与线上实战
11 月
11-26
Spring AI Alibaba 与国内大模型的集成实践
AI 与智能体开发
11-17
AI 原生应用的架构范式转变
架构设计与线上实战
11-06
AI 辅助下的代码重构实践
工程效能与工具链
10 月
10-24
MySQL JSON 字段的合理使用边界
数据库与 SQL 优化
10-15
流式处理在实时 AI 场景的应用
分布式与消息队列
10-05
把 LLM 能力封装成可靠的企业服务
AI 与智能体开发
09 月
09-26
AI 编码助手融入团队研发流程的实践
AI 与智能体开发
09-15
向量数据的缓存策略与失效设计
中间件与缓存
09-05
多模态能力在 Java 应用中的集成
AI 与智能体开发
08 月
08-27
AI 网关设计:统一模型接入与流量治理
AI 与智能体开发
08-13
Java 在 AI 时代的定位与优势
Java 核心基础
08-06
Spring AI 1.x 深入:Model Context Protocol 集成
Spring / Spring Boot
07 月
07-27
文档解析与知识库构建的工程实践
AI 与智能体开发
07-14
ReAct 模式在 Java Agent 中的实现
AI 与智能体开发
07-07
虚拟线程在 AI 高并发调用中的实践
Java 核心基础
06 月
06-28
Redis 8 新特性与 AI 能力集成
中间件与缓存
06-18
Spring 生态的响应式之路:现状与反思
Spring / Spring Boot
06-05
JDK 22 外部函数与内存 API (FFM) 实战
Java 核心基础
05 月
05-28
一次线程数暴涨的排查:虚拟线程不是万能的
JVM 与性能调优
05-16
Java 项目的依赖安全扫描与漏洞治理
工程效能与工具链
05-07
一次误删数据的恢复全过程
数据库与 SQL 优化
04 月
04-30
Elasticsearch 混合检索:BM25 与向量的融合
中间件与缓存
04-17
向量数据库生产实践:从选型到性能调优
AI 与智能体开发
04-10
大模型应用成本控制:Token 经济的实践
AI 与智能体开发
03 月
03-28
Prompt 工程与版本管理实践
AI 与智能体开发
03-20
代码评审清单:这些年我总结的 Review 要点
工程效能与工具链
03-09
Spring Boot 应用启动速度优化:CDS 与 AOT 实践
Spring / Spring Boot
02 月
02-28
Spring Boot 3.3 新特性与虚拟线程深度集成
Spring / Spring Boot
02-20
AI 应用中的数据存储选型:关系型与向量的协同
数据库与 SQL 优化
02-09
AI 场景下的异步任务与消息驱动设计
分布式与消息队列
02-02
多级缓存应对 AI 应用的高延迟
中间件与缓存
01 月
01-23
JDK 23 新特性盘点与生产可用评估
Java 核心基础
01-12
AI 应用开发:大模型与 RAG 实战
AI 与智能体开发
01-03
AI 应用的安全风险:提示注入与数据泄漏防护
AI 与智能体开发
2023 年
12 月
12-26
Structured Concurrency 第五次预览后的变化
Java 核心基础
12-12
本地大模型部署:Ollama + Java 的实践
AI 与智能体开发
12-07
高可用架构中的降级与兜底设计
架构设计与线上实战
11 月
11-24
Kafka 在实时数据管道中的架构实践
分布式与消息队列
11-17
Java 字符串模板被撤回的反思
Java 核心基础
11-05
JDK 22/23 虚拟线程改进与 pin 问题根治
Java 核心基础
10 月
10-28
生产环境 JDK 21 升级后的 GC 表现复盘
JVM 与性能调优
10-20
RAG 效果优化实战:切分、召回、重排三板斧
AI 与智能体开发
10-06
AI 能力接入现有系统的架构设计
架构设计与线上实战
09 月
09-30
Spring Boot 3.4 结构化日志与可观测性增强
Spring / Spring Boot
09-20
Spring AI Advisor 机制与 RAG 管道搭建
AI 与智能体开发
09-09
Function Calling 实战:让大模型调用 Java 方法
AI 与智能体开发
09-03
Spring Integration 与事件驱动架构深化
Spring / Spring Boot
08 月
08-24
Java 应用冷启动优化:从 8 秒到 1.5 秒
JVM 与性能调优
08-12
容器环境下 JVM 内存配置的正确姿势
JVM 与性能调优
08-02
从 Jenkins 到 GitLab CI 的流水线迁移
工程效能与工具链
07 月
07-25
大模型流式响应 SSE 的工程化实现
AI 与智能体开发
07-14
一次核心系统去 Oracle 化的完整过程
架构设计与线上实战
07-06
MySQL 到 TiDB 的迁移评估与实践
数据库与 SQL 优化
06 月
06-27
多模型路由与降级:不把鸡蛋放在一个篮子里
AI 与智能体开发
06-18
LLM 结构化输出:JSON Schema 约束的可靠方案
AI 与智能体开发
06-10
AI 应用的可观测性:LLM 调用的追踪与评估
AI 与智能体开发
06-01
Redis 在 AI 场景的应用:向量与语义缓存
中间件与缓存
05 月
05-23
Spring AI 1.0 正式版:Java 开发者的 AI 工具箱
Spring / Spring Boot
05-12
Redis 内存突然暴涨的排查思路
中间件与缓存
05-03
一次堆内存缓慢增长的隐蔽泄漏定位
JVM 与性能调优
04 月
04-25
Scoped Values 与 ThreadLocal 的未来
Java 核心基础
04-15
JFR 事件流与持续性能分析
JVM 与性能调优
04-04
分布式任务调度:XXL-JOB 与 Elastic-Job 对比
分布式与消息队列
03 月
03-29
Elasticsearch 8 向量检索能力实践
中间件与缓存
03-17
Spring 循环依赖与 AOT 的冲突
Spring / Spring Boot
03-10
Spring Boot 3 虚拟线程集成实践
Spring / Spring Boot
03-02
从零搭建一套灰度发布体系
架构设计与线上实战
02 月
02-21
JDK 21 虚拟线程正式发布:一次彻底的并发模型升级
Java 核心基础
02-10
OpenTelemetry 统一可观测性接入实践
工程效能与工具链
02-01
Record 模式与模式匹配的完整形态
Java 核心基础
01 月
01-24
一次虚拟线程导致的载体线程耗尽问题
JVM 与性能调优
01-13
LangChain4j 上手:Java 版 LLM 应用开发
AI 与智能体开发
01-03
字符串模板预览特性体验
Java 核心基础
2022 年
12 月
12-27
分库分表中间件 ShardingSphere 5.x 升级实践
数据库与 SQL 优化
12-17
一次核心链路的性能优化:P99 从 800ms 到 120ms
架构设计与线上实战
12-09
GC 线程数配置与容器 CPU 限制的关系
JVM 与性能调优
12-02
Kafka KRaft 模式取代 ZooKeeper 的迁移
分布式与消息队列
11 月
11-22
线上问题排查 SOP:一套可复制的方法论
工程效能与工具链
11-15
Spring 6.1 的 RestClient 与 HTTP Interface
Spring / Spring Boot
11-05
一次大表 JOIN 的性能优化
数据库与 SQL 优化
10 月
10-26
MySQL 8.0 窗口函数实战应用
数据库与 SQL 优化
10-15
可观测性建设:从日志到链路追踪的演进
工程效能与工具链
10-10
Maven 到 Gradle 的迁移决策与实践
工程效能与工具链
09 月
09-30
结构化并发 Structured Concurrency 实践
Java 核心基础
09-20
Spring Boot 3.1 与 3.2 新特性盘点
Spring / Spring Boot
09-13
Spring Boot 原生镜像实战:构建 50MB 的可执行文件
Spring / Spring Boot
09-06
JDK 21 分代 ZGC:为什么停顿能低到 1 毫秒
Java 核心基础
08 月
08-25
MQ 消费幂等与去重表设计
分布式与消息队列
08-19
JDK 21 生产环境 GC 选型:G1、ZGC、Shenandoah 实测
JVM 与性能调优
08-10
技术债治理:如何在版本迭代中偿还债务
架构设计与线上实战
07 月
07-30
Java 接入大模型的第一种方式:HTTP 调用与流式响应
AI 与智能体开发
07-20
ClickHouse 在日志分析场景的实践
中间件与缓存
07-14
向量数据库选型:Milvus、PGVector、Redis 的对比
AI 与智能体开发
07-05
RAG 检索增强生成的 Java 实现方案
AI 与智能体开发
06 月
06-25
Spring Batch 批处理作业设计与调优
Spring / Spring Boot
06-18
Embedding 模型选型与中文效果对比
AI 与智能体开发
06-07
系统容量评估与水位管理
架构设计与线上实战
06-02
数据库字段类型选择的那些坑
数据库与 SQL 优化
05 月
05-25
Spring AI 项目初探:Java 生态的 AI 抽象层
AI 与智能体开发
05-16
虚拟线程实战:把线程池换成虚拟线程后发生了什么
Java 核心基础
05-06
Spring Authorization Server 搭建统一认证
Spring / Spring Boot
04 月
04-30
生产环境 OOM 自动 dump 与分析流水线
JVM 与性能调优
04-19
Nginx 在 Java 架构中的常见用法与调优
中间件与缓存
04-13
Spring Framework 6 新特性与 AOT 支持
Spring / Spring Boot
04-05
Spring Bean 初始化顺序那些事
Spring / Spring Boot
03 月
03-25
一次主从延迟导致的线上数据不一致
数据库与 SQL 优化
03-16
Service Mesh 之 Istio 接入体验与代价评估
工程效能与工具链
03-08
Spring4Shell 漏洞应急响应与修复
工程效能与工具链
02 月
02-26
Spring 事件驱动改造同步调用链
Spring / Spring Boot
02-22
Spring Cloud 微服务架构实战
Spring / Spring Boot
02-11
Sealed Class 密封类的使用场景
Java 核心基础
02-05
一次系统重构:从 3000 行 Service 到清晰分层
架构设计与线上实战
01 月
01-26
Kafka 分区数与吞吐量的关系调优
分布式与消息队列
01-21
JUnit 5 与测试容器 Testcontainers 集成测试
工程效能与工具链
01-11
Spring Security 6 配置变更与 OAuth2 接入
Spring / Spring Boot
01-02
DDD 聚合设计实战:从订单系统说起
架构设计与线上实战
2021 年
12 月
12-26
文本块 Text Block 写 SQL 与 JSON 的正确姿势
Java 核心基础
12-19
Redis 缓存一致性终极方案:订阅 Binlog 更新
中间件与缓存
12-10
Spring Boot 3.0 与 Spring 6 迁移实战记录
Spring / Spring Boot
12-03
高并发秒杀系统的设计要点
架构设计与线上实战
11 月
11-25
JDK 17 新特性全解析:为什么它是最好的 LTS
Java 核心基础
11-15
Elasticsearch 查询性能优化实战
中间件与缓存
11-06
Shenandoah 与 ZGC 的对比测试
JVM 与性能调优
10 月
10-30
Spring 事务传播行为详解与实战选择
Spring / Spring Boot
10-24
GraalVM 原生镜像:Spring Boot 启动从 3 秒到 0.1 秒
JVM 与性能调优
10-14
一次诡异的技术栈 OOM: unable to create new native thread
JVM 与性能调优
10-06
领域事件与事件溯源实践
架构设计与线上实战
09 月
09-30
数据库分库分表后的跨库查询方案
数据库与 SQL 优化
09-18
Nacos 2.0 长连接改造与性能优化
分布式与消息队列
09-14
MySQL 慢查询治理的自动化实践
数据库与 SQL 优化
09-03
GitOps 与 ArgoCD 实现自动化发布
工程效能与工具链
08 月
08-29
R2DBC 响应式数据库访问实践
Spring / Spring Boot
08-19
RocketMQ 5.0 新特性与 Pop 消费模式
分布式与消息队列
08-11
Async-profiler 火焰图定位性能热点
JVM 与性能调优
08-04
线上应用内存持续增长但不 OOM 的排查
JVM 与性能调优
07 月
07-29
Kubernetes 中 Java 应用的优雅上下线
工程效能与工具链
07-21
接口自动化测试与 CI 集成
工程效能与工具链
07-13
Redis 7 新特性与 Redis Functions
中间件与缓存
07-03
Elasticsearch 分片设计原则与容量规划
中间件与缓存
06 月
06-29
多级缓存架构设计:本地缓存 + Redis
中间件与缓存
06-22
设计模式在业务系统中的真实应用
架构设计与线上实战
06-10
Kafka 精准一次语义的实现与代价
分布式与消息队列
06-03
分布式事务:TCC、Saga、本地消息表怎么选
分布式与消息队列
05 月
05-29
JVM TI 与字节码增强:Arthas 背后的技术
JVM 与性能调优
05-20
MySQL 死锁监控与自动告警建设
数据库与 SQL 优化
05-11
Record 类型与不可变数据建模实践
Java 核心基础
05-06
虚拟线程初探:JDK 19 预览版体验
JVM 与性能调优
04 月
04-27
switch 模式匹配的演进与实战
Java 核心基础
04-23
一次线上内存暴涨事故的完整复盘
架构设计与线上实战
04-13
MAT 分析堆转储文件的正确姿势
JVM 与性能调优
04-02
JDK 9+ 的新集合工厂方法与不可变集合
Java 核心基础
03 月
03-31
Log4j2 漏洞应急:一夜之间的全量升级
工程效能与工具链
03-24
Redisson 分布式锁源码解析
中间件与缓存
03-16
本地缓存 Caffeine 实战与命中率优化
中间件与缓存
03-09
Redis 6 多线程 IO 与客户端缓存
中间件与缓存
02 月
02-26
Spring 循环依赖到底该不该允许
Spring / Spring Boot
02-23
String 在 JDK 9 之后为什么改用 byte 数组
Java 核心基础
02-16
堆外内存泄漏排查:一次 Direct buffer memory OOM
JVM 与性能调优
02-09
MySQL 索引优化进阶:filesort 与临时表消除
数据库与 SQL 优化
01 月
01-29
Kafka 消费者组重平衡问题与优化
分布式与消息队列
01-23
CPU 飙高 100% 的标准排查流程
JVM 与性能调优
01-19
一次大促压测:从 2000 QPS 到 8000 QPS 的优化之路
架构设计与线上实战
01-08
WebFlux 响应式编程:什么场景下才值得用
Spring / Spring Boot
01-01
Prometheus + Grafana 搭建 JVM 监控看板
工程效能与工具链
2020 年
12 月
12-26
JIT 编译与逃逸分析:为什么这段代码没被优化
JVM 与性能调优
12-20
消息积压千万级的一次应急处理
分布式与消息队列
12-12
RocketMQ 事务消息实现分布式最终一致
分布式与消息队列
12-05
延迟消息的实现方案对比
分布式与消息队列
11 月
11-28
熔断降级与隔离:Resilience4j 实战
架构设计与线上实战
11-21
JDK 9 模块化系统 JPMS 到底要不要用
Java 核心基础
11-15
Spring Cache 抽象与 Redis 集成实践
Spring / Spring Boot
11-08
Arthas 高级用法:trace 定位慢方法与热更新
JVM 与性能调优
10 月
10-31
一次 Bean 创建死循环:@PostConstruct 里的远程调用
Spring / Spring Boot
10-24
JDK 11 迁移记录:从 Java 8 升级踩过的坑
Java 核心基础
10-18
Kubernetes 部署 Java 应用的资源配置
工程效能与工具链
10-09
Spring Boot 2.4 配置文件变更与迁移注意
Spring / Spring Boot
10-06
Maven 多模块项目拆分与依赖管理
工程效能与工具链
09 月
09-26
慢查询治理:建立一套 SQL 准入机制
数据库与 SQL 优化
09-22
GC 日志分析工具 GCeasy 与 GCViewer 使用
JVM 与性能调优
09-12
分库分表后的数据迁移与双写方案
数据库与 SQL 优化
09-05
微服务架构中的韧性设计:Resilience4j 指南
架构设计与线上实战
09-01
一次数据库连接池耗尽导致的全线超时
架构设计与线上实战
08 月
08-22
SkyWalking 链路追踪接入实践
工程效能与工具链
08-15
大表加字段的在线 DDL 方案
数据库与 SQL 优化
08-08
接口性能优化的通用方法论
架构设计与线上实战
08-03
Redis Cluster 集群搭建与扩容实践
中间件与缓存
07 月
07-28
ShardingSphere 分库分表落地:从设计到上线
数据库与 SQL 优化
07-21
Kafka 消息可靠性配置:acks、ISR 与最少同步副本
分布式与消息队列
07-15
var 局部变量类型推断:用还是不用
Java 核心基础
07-07
ZGC 初探:低延迟收集器真实表现
JVM 与性能调优
07-02
Fastjson 反序列化漏洞与 Jackson 迁移
工程效能与工具链
06 月
06-27
Optional 与 Stream 的性能代价实测
Java 核心基础
06-17
DDD 落地第一步:贫血模型到领域模型的转变
架构设计与线上实战
06-12
CompletableFuture 在聚合接口中的性能实践
并发编程与多线程
06-06
Kafka 零拷贝与高吞吐背后的原理
分布式与消息队列
05 月
05-30
分布式 ID 生成:Snowflake 的坑与改造
分布式与消息队列
05-25
SQL 优化实战:从 8 秒到 200 毫秒
数据库与 SQL 优化
05-19
一次生产事故复盘:一个慢 SQL 拖垮整个链路
架构设计与线上实战
05-11
LongAdder 为什么比 AtomicLong 快
并发编程与多线程
05-09
读写分离下的数据一致性问题与解决
数据库与 SQL 优化
05-01
一次 Full GC 频繁的排查:大对象直接进入老年代
JVM 与性能调优
04 月
04-23
一次线程池参数设置不当导致的雪崩
并发编程与多线程
04-18
Swagger/Knife4j 接口文档自动化实践
工程效能与工具链
04-11
Arthas 上手:不重启应用定位线上问题
JVM 与性能调优
04-07
Redis 大 key 删除导致线上抖动的一次复盘
中间件与缓存
03 月
03-31
Redis 管道与 Lua 脚本:批量操作的性能优化
中间件与缓存
03-26
Redis 缓存预热与热点 key 发现方案
中间件与缓存
03-19
一次线上死锁:从 innodb status 到业务代码
数据库与 SQL 优化
03-14
Elasticsearch 深分页与 search_after 方案
中间件与缓存
03-05
Elasticsearch 倒排索引原理与第一次调优
中间件与缓存
02 月
02-28
G1 收集器调优实战:从 CMS 迁移的得与失
JVM 与性能调优
02-26
消息顺序性保证:全局有序与分区有序的取舍
分布式与消息队列
02-20
RocketMQ 消息重复消费与幂等处理
分布式与消息队列
02-12
分布式锁的三种实现对比:Redis、Zookeeper、数据库
分布式与消息队列
02-06
MyBatis 动态 SQL 的性能陷阱
数据库与 SQL 优化
01 月
01-31
Spring Cloud Gateway 网关搭建与过滤器链
Spring / Spring Boot
01-25
高并发系统限流方案:Sentinel 实战
分布式与消息队列
01-21
Kafka 消费积压的排查与扩容处理
分布式与消息队列
01-14
接口超时时间该怎么设置?超时传递与降级
架构设计与线上实战
01-08
微服务拆分的第一步:边界怎么划分
架构设计与线上实战
01-03
Spring Cloud Netflix 停更之后,我们迁到了 Alibaba 全家桶
Spring / Spring Boot
2019 年
12 月
12-26
JVM 参数模板:一个生产环境该配什么
JVM 与性能调优
12-22
Nacos 注册中心与配置中心落地实践
Spring / Spring Boot
12-17
Seata 分布式事务 AT 模式踩坑记录
Spring / Spring Boot
12-10
MySQL 8.0 升级记录与兼容性问题
数据库与 SQL 优化
12-05
Redis 分布式锁从 setnx 到 Redisson 的演进
中间件与缓存
12-03
Sentinel 限流熔断实战:从 Hystrix 迁移的对比
Spring / Spring Boot
11 月
11-23
Spring Bean 作用域与 prototype 注入失效问题
Spring / Spring Boot
11-21
从单体迁移到微服务的灰度方案
架构设计与线上实战
11-15
Docker Compose 编排一整套开发环境
工程效能与工具链
11-09
Docker 打包 Spring Boot 镜像的最佳实践
工程效能与工具链
11-05
Elasticsearch 写入性能调优:从 500 TPS 到 5000 TPS
中间件与缓存
10 月
10-30
OpenFeign 调用超时与重试的正确配置
Spring / Spring Boot
10-23
Spring Boot 2.3 优雅停机与健康检查配置
Spring / Spring Boot
10-21
RocketMQ 消息丢失的几种场景与防护
分布式与消息队列
10-12
Jenkins 搭建第一个 CI 流水线
工程效能与工具链
10-10
原子类与 CAS:ABA 问题及解决方案
并发编程与多线程
10-05
HashMap 扩容死链:JDK 1.7 那个著名的 CPU 100% 问题
Java 核心基础
09 月
09-26
Oracle JDK 收费之后,该选哪个 JDK 发行版
工程效能与工具链
09-24
垃圾回收算法与常见收集器对比
JVM 与性能调优
09-20
Dubbo + Zookeeper 第一个分布式服务踩坑记
分布式与消息队列
09-15
CompletableFuture 异步编排实战
Java 核心基础
09-10
接口幂等性设计的几种方案
架构设计与线上实战
09-04
Stream 并行流慎用:一次 parallelStream 导致的数据错乱
Java 核心基础
08 月
08-31
CountDownLatch、CyclicBarrier、Semaphore 使用场景辨析
并发编程与多线程
08-24
BlockingQueue 家族与生产者消费者模型落地
并发编程与多线程
08-21
单元测试怎么写才有用?JUnit + Mockito 实践
工程效能与工具链
08-13
JVM 类加载机制与双亲委派模型
JVM 与性能调优
08-10
Spring Boot 自动配置原理与自定义 Starter
Spring / Spring Boot
08-07
对象真的不可达才被回收吗?finalize 与引用类型
JVM 与性能调优
07 月
07-31
Redis 主从复制与哨兵高可用部署实践
中间件与缓存
07-28
MySQL 索引下推与覆盖索引优化实战
数据库与 SQL 优化
07-23
一次线上死锁排查:jstack 定位与修复
并发编程与多线程
07-15
日志规范与 Logback 配置实践
架构设计与线上实战
07-13
jmap、jstat、jstack 三板斧排查内存问题
JVM 与性能调优
07-10
线程池的拒绝策略怎么选?一次消息队列积压的教训
并发编程与多线程
07-04
Optional 的正确用法,别把它当成判空工具
Java 核心基础
06 月
06-29
消息队列入门:为什么要引入 MQ
分布式与消息队列
06-26
InnoDB 行锁与间隙锁:一次死锁日志分析
数据库与 SQL 优化
06-19
AQS 源码初探:ReentrantLock 是怎么实现的
并发编程与多线程
06-18
CAP 理论与分布式系统中的取舍
分布式与消息队列
06-13
Spring 事件机制与异步解耦实践
Spring / Spring Boot
06-08
Redis 持久化 RDB 与 AOF 该怎么选
中间件与缓存
06-04
Lambda 表达式与函数式接口:从会用到了解实现
Java 核心基础
05 月
05-30
深入理解 JVM 垃圾回收机制
JVM 与性能调优
05-28
Spring AOP 失效的那些场景与代理机制
Spring / Spring Boot
05-22
一次 Metaspace OOM 的排查:动态代理类撑爆元空间
JVM 与性能调优
05-18
Java 8 日期时间 API 全面迁移:LocalDateTime 实战
Java 核心基础
05-15
数据库分库分表前的容量评估与方案选型
数据库与 SQL 优化
05-10
Spring Bean 的生命周期与循环依赖解决
Spring / Spring Boot
05-06
ThreadPoolExecutor 源码解析:execute 之后发生了什么
并发编程与多线程
05-02
MVCC 多版本并发控制是怎么实现的
数据库与 SQL 优化
04 月
04-30
MyBatis 插件与分页:PageHelper 的正确用法
Spring / Spring Boot
04-24
注解处理器与自定义注解:手写一个参数校验
Java 核心基础
04-19
ConcurrentHashMap 为什么比 synchronizedMap 快
Java 核心基础
04-15
缓存与数据库一致性问题:先更新库还是先删缓存
中间件与缓存
04-13
数据库连接池参数怎么配?Druid 连接泄漏排查
数据库与 SQL 优化
04-10
从 slow query log 到 explain:慢 SQL 排查的标准流程
数据库与 SQL 优化
04-08
@Autowired 注入失败的各种原因与排查清单
Spring / Spring Boot
04-01
application.yml 配置不生效?Spring Boot 配置优先级梳理
Spring / Spring Boot
03 月
03-30
Redis 五种数据类型分别该用在什么场景
中间件与缓存
03-29
@Transactional 事务不生效的 7 种场景
Spring / Spring Boot
03-26
为什么 127 == 127 为真,128 == 128 却为假?Integer 缓存池踩坑
Java 核心基础
03-19
Redis 分布式锁的正确实现:setnx 的那些坑
中间件与缓存
03-16
JVM 内存区域划分与第一次遇到 Java heap space
JVM 与性能调优
03-14
Hello Halo
架构设计与线上实战
03-12
线程安全的单例模式该怎么写?双重检查锁与 volatile
并发编程与多线程
03-07
反射到底有多慢?从 Fastjson 的序列化说起
Java 核心基础
03-05
MySQL 索引失效的 8 种典型场景与一次慢查询优化实录
数据库与 SQL 优化
02 月
02-26
ArrayList 遍历时删除元素的正确姿势与 ConcurrentModificationException
Java 核心基础
02-24
Tomcat 启动慢与常见启动失败排查
工程效能与工具链
02-23
Redis 内存满了怎么办?过期策略与淘汰策略配置
中间件与缓存
02-19
重写 equals 为什么必须重写 hashCode?HashMap 里查不到的 Key
Java 核心基础
02-16
Maven 依赖冲突排查:NoSuchMethodError 背后的 Jar 包战争
工程效能与工具链
02-16
synchronized 和 ReentrantLock 该怎么选
并发编程与多线程
02-12
try-with-resources 真的能关掉所有资源吗?一次文件句柄泄漏排查
Java 核心基础
02-10
RESTful API 设计与那些年写错的接口
架构设计与线上实战
02-06
ThreadLocal 内存泄漏:线程池里的脏数据从哪来
并发编程与多线程
02-02
事务隔离级别与脏读、不可重复读、幻读
数据库与 SQL 优化
02-02
GC 日志怎么读?从一行日志看懂一次 Young GC
JVM 与性能调优
01 月
01-30
缓存穿透、击穿、雪崩:一次缓存雪崩打挂数据库
中间件与缓存
01-29
Java 8 Stream 很好用,但这几个坑我踩过
Java 核心基础
01-25
用枚举干掉满屏 if-else:一次订单状态机重构
Java 核心基础
01-23
SimpleDateFormat 非线程安全导致线上日期错乱复盘
Java 核心基础
01-22
线程池参数怎么设?一次线程池打满导致的服务不可用
并发编程与多线程
01-19
从单体到分层:我的第一个项目重构记录
架构设计与线上实战
01-19
深拷贝与浅拷贝:一次对象被意外修改引发的生产事故
Java 核心基础
01-16
volatile 到底解决了什么问题?可见性与指令重排
并发编程与多线程
01-12
Git 分支管理与误合并回滚实战
工程效能与工具链
01-12
String 拼接用 + 还是 StringBuilder?一次循环拼接引发的 CPU 飙高
Java 核心基础
01-11
Spring MVC 日期参数绑定 400 错误排查
Spring / Spring Boot
01-08
limit 1000000 慢到无法忍受?深分页优化方案
数据库与 SQL 优化
01-08
从 SSM 迁移到 Spring Boot 2.0 的第一步与踩坑记录
Spring / Spring Boot
01-05
Linux 上部署和排查 Java 应用的常用命令清单
工程效能与工具链
01-04
MyBatis 一级缓存与二级缓存:一次读到脏数据的排查
Spring / Spring Boot
01-03
MyBatis 批量插入的几种方式与性能对比
数据库与 SQL 优化
01-03
BigDecimal 金额计算踩坑:0.1 + 0.2 与精度丢失
Java 核心基础
01-01
泛型通配符 extends 与 super 到底怎么用?PECS 原则实践
Java 核心基础