📅 文章时间线
共 257 篇文章,按时间倒序排列
2026年7月
- 07月27日JVM & GC强引用/软引用/弱引用/虚引用,你真的用对了吗?
- 07月24日消息队列Kafka 分区分配策略:Range/Sticky/CooperativeSticky 对比
- 07月22日RedisLua 脚本深入
- 07月21日Java 并发线程状态流转与上下文切换开销
- 07月21日AI 应用面试官追问:AI 应用与传统后台最大的区别是什么?你踩过的 AI 应用落地最大的坑?
- 07月21日AI 应用多模态大模型:LLaVA / Qwen-VL / GPT-4V 的视觉编码原理,图文理解与生成的实现差异
- 07月17日Java 并发结构化并发(Java 21+)
- 07月17日Java 并发wait/notify vs Condition:从监视器到管程的进化
- 07月17日AI 应用LLM 推理原理:Transformer 的 Decoder-only 架构为什么成为主流?GPT 系列与 BERT 的本质区别
- 07月15日AI 应用AI 在搜索场景的应用:Query 改写、语义检索、生成式搜索(GSE)架构,与 BM25 的融合
- 07月15日AI 应用大模型量化:GPTQ/AWQ/GGUF 原理对比,4-bit 量化对推理精度的影响
- 07月13日微服务微服务 BFF 模式:为什么需要 Backend for Frontend,GraphQL 在 BFF 中的角色
- 07月9日MySQLGroup Replication 与 InnoDB Cluster
- 07月9日AI 应用知识图谱 + LLM:GraphRAG 原理,如何用知识图谱增强 RAG 的回答质量,实体关系抽取
- 07月6日分布式系统分布式配置中心设计:推拉模式对比,配置变更的原子性与一致性如何保证
- 07月2日AI 应用RAG 评估体系
- 07月2日AI 应用AI Agent 评测基准
2026年6月
- 06月30日JVM & GCG1 收集器原理与 Region 设计
- 06月28日微服务生产事故复盘:微服务雪崩场景与治理,如何从被动告警到主动防御
- 06月28日AI 应用多 Agent 协作模式
- 06月28日AI 应用大模型微调(Fine-tuning)实战:LoRA 原理、QLoRA 量化训练、全量微调与 PEFT 的选型
- 06月26日AI 应用Prompt Engineering 进阶:Chain-of-Thought、Few-shot、ReAct 模式,如何用 Prompt 替代微调
- 06月25日JVM & GCJIT 编译与逃逸分析
- 06月16日JVM & GC对象创建过程与内存分配策略:从 new 到回收的完整之旅
- 06月13日AI 应用A2A 协议(Agent2Agent):Google 的 Agent 间协作标准
- 06月12日系统设计设计一个日志收集系统
- 06月6日AI 应用AI 编码助手原理:Copilot / Codeium / Cursor 的工作原理,代码补全与代码生成的模型差异
- 06月2日系统设计设计一个分布式 KV 存储
- 06月1日分布式系统分布式事务核心方案对比:2PC/3PC/TCC/Saga/Seata AT 模式的适用场景
2026年5月
- 05月31日AI 应用Function Calling / Tool Use:大模型如何调用外部 API?工具定义与多轮调用的状态管理
- 05月29日AI 应用MCP 协议(Model Context Protocol)
- 05月27日微服务微服务安全:OAuth 2.1 + OIDC + JWT 鉴权,Spring Security 网关级集成
- 05月25日AI 应用RAG 检索增强生成:Embedding 模型选型、向量数据库对比、Chunk 策略与检索重排序
- 05月24日MySQL最左前缀原则与索引下推(ICP)
- 05月22日分布式系统分布式调度系统设计:Quartz 的数据库锁 vs Elastic-Job 的分片机制
- 05月19日AI 应用Agent 架构设计:Plan-then-Execute vs ReAct 循环,Agent 的状态持久化与记忆管理
- 05月16日RedisRedis 不适用什么场景?—— 面试官追问的短板分析
- 05月15日AI 应用长上下文与上下文压缩
- 05月14日Java 并发1000 个线程同时写一个文件怎么设计
- 05月13日消息队列Kafka 高性能核心设计:零拷贝、顺序写、页缓存、批处理
- 05月12日AI 应用模型蒸馏
- 05月11日AI 应用RLHF 与 DPO 对齐
- 05月7日AI 应用大模型部署全家桶:vLLM / TensorRT-LLM / TGI 对比,RPS 与延迟的权衡
- 05月6日AI 应用LangGraph 入门 + MCP 试水:从手写循环到图编排
- 05月6日AI 应用AI 应用的可观测性:LLM 调用的 Tracing、Token 消耗监控、延迟分析、Prompt 版本管理
- 05月1日AI 应用AI 应用安全:Prompt Injection 攻击与防御,输出敏感内容过滤,模型幻觉检测
2026年4月
- 04月30日RedisRedis 为什么快?单线程模型真相
- 04月30日AI 应用大模型 API 工程化:兼容层设计、降级与重试策略
- 04月27日分布式系统分布式共识算法实战:Etcd 的 Raft 实现,如何保证线性一致读
- 04月27日AI 应用Embedding 微调与领域适配
- 04月26日AI 应用大模型推理优化:KVCache、PageAttention、Continuous Batching 与 Streaming 深度解析
- 04月24日RedisRedis Cluster 数据分片:Hash Slot
- 04月24日AI 应用AI Agent 工具链:LangChain / LlamaIndex / CrewAI 的架构设计,编排 vs 灵活性的平衡
- 04月23日AI 应用AI 应用的评估体系:RAGAS、BLEU、METEOR、LLM-as-Judge,如何衡量 AI 应用质量
- 04月18日JVM & GC新生代 GC 流程(Minor GC 全过程)
- 04月17日AI 应用大模型在推荐系统中的应用:LLM 做特征工程、排序模型蒸馏、生成式推荐
- 04月3日分布式系统分布式 ID 生成方案 · Snowflake 时钟回拨 · 美团 Leaf / 百度 UidGenerator 改进
- 04月2日微服务微服务测试策略:契约测试(Pact/Spring Cloud Contract) vs 集成测试 vs 端到端测试
- 04月2日JVM & GCGC 根节点(GC Roots)有哪些
2026年3月
- 03月30日系统设计设计一个异地多活系统
- 03月30日分布式系统分布式定时任务:时间轮算法原理,XXL-Job 分片广播与故障转移机制
- 03月27日SpringSpring Boot 启动流程(从 main 到 Tomcat 启动)
- 03月26日微服务服务间通信:RPC vs REST vs gRPC,序列化协议选型
- 03月22日SpringSpring Boot 异常处理机制(@ControllerAdvice / ErrorController)
- 03月22日消息队列MQ 削峰填谷与流量控制:如何设计消息消费速率自适应
- 03月20日系统设计设计一个分布式文件系统
- 03月18日MySQL死锁排查与案例分析(show engine innodb status)
- 03月17日JVM & GC编译优化:方法内联/锁消除/栈上分配
- 03月14日分布式系统分布式注册中心选型:ZooKeeper vs Etcd vs Nacos vs Consul 的 CP/AP 取舍
- 03月8日消息队列消息队列选型对比:Kafka vs RabbitMQ vs RocketMQ vs Pulsar
- 03月5日分布式系统Gossip 协议
- 03月4日系统设计设计一个权限系统(RBAC/ABAC)
2026年2月
- 02月17日RedisRedis 7.0+ 新特性全解
- 02月10日Java 并发Disruptor 无锁队列原理
- 02月4日MySQLredo/undo/binlog 三大日志协同
2026年1月
- 01月27日RedisRedis 哨兵选举机制(Raft)
- 01月23日微服务微服务重构:单体拆分为微服务的七步法,数据库拆分策略(分库分表 + 事件回溯)
- 01月16日系统设计设计一个限流系统
- 01月16日RedisRedis 内存淘汰策略(8 种)
- 01月16日消息队列生产事故复盘:Kafka 消息乱序导致业务数据错乱
- 01月13日Java 并发Java 线程池核心参数及工作原理
- 01月9日Java 并发死锁排查与预防(jstack 实战)
- 01月7日MySQL主从复制模式对比
- 01月2日消息队列消息堆积治理:Kafka 消费慢、RabbitMQ 队列堆积、RocketMQ 积压的解决方案
2025年12月
- 12月26日微服务微服务链路追踪:OpenTelemetry + Jaeger/Zipkin,TraceId 透传与采样策略
- 12月26日分布式系统分布式限流算法:令牌桶/漏桶/滑动窗口,Sentinel 核心源码分析
- 12月23日消息队列Pulsar 架构深入
- 12月9日微服务配置中心设计:Nacos vs Apollo vs Spring Cloud Config,配置实时刷新原理
- 12月5日系统设计设计一个推荐系统
- 12月3日微服务微服务监控体系:Prometheus + Grafana + 自定义指标,SLO/SLI/SLA 落地
- 12月1日Java 并发AQS 原理与 ReentrantLock 实现
2025年11月
- 11月30日消息队列Kafka Exactly-Once 语义
- 11月29日分布式系统分布式链路追踪:OpenTelemetry 架构,TraceId/SpanId 透传方案,采样策略
- 11月18日JVM & GCShenandoah GC 原理
- 11月18日分布式系统Raft 协议与 Paxos 核心区别:为什么 Raft 更易实现?Leader 选举过程详解
- 11月12日JVM & GCJFR + JMC 生产诊断
- 11月7日Java 并发CompletableFuture 异步编排
- 11月4日SpringSpring 生产事故排查:配置加载顺序与覆盖导致的问题
2025年10月
- 10月29日SpringSpring IoC 容器初始化流程与 BeanFactory/ApplicationContext 区别
- 10月25日MySQL聚簇索引与非聚簇索引的区别及主键选择
- 10月21日系统设计系统设计的核心是"选型"还是"落地"?给一个限流系统从设计到上线的完整过程
2025年9月
- 09月26日MySQL生产事故复盘:大事务导致主从延迟
- 09月23日消息队列RocketMQ 事务消息机制与实现
- 09月22日JVM & GCGraalVM AOT 与 Native Image 原理
- 09月16日微服务面试官追问:微服务到底解决了什么问题?450个微服务 vs 6个模块的教训
- 09月5日Java 并发ThreadLocal 原理与内存泄漏
2025年8月
- 08月24日系统设计设计一个短 URL 系统
- 08月24日Java 并发happens-before 规则与内存屏障
- 08月13日RedisRedis 热 Key 问题:如何发现和解决
- 08月9日消息队列Kafka 事务原理与分布式事务场景
- 08月8日Java 并发volatile 关键字:可见性与禁止指令重排
- 08月3日JVM & GC面试官追问:设计一个 100ms 以内 GC 停顿的系统
- 08月1日消息队列MQ 在微服务架构中解耦的边界是什么?过度使用 MQ 的坏处
2025年7月
- 07月22日JVM & GC内存泄漏排查实战:jmap + MAT 从入门到精通
- 07月16日RedisRedis 经典故障:BigKey 导致堵塞
- 07月14日MySQLMySQL 事务隔离级别与 MVCC 实现原理
2025年6月
- 06月30日系统设计设计一个电商秒杀系统
- 06月20日消息队列死信队列与消息回放
- 06月18日消息队列延迟消息实现方案对比:RabbitMQ TTL/DLX vs RocketMQ 定时消息 vs Redis ZSet
- 06月6日微服务服务发现与注册中心选型:Nacos vs Consul vs Eureka vs ZK 的 CAP 取舍
- 06月2日SpringSpring 6 / Spring Boot 3 新特性:AOT 编译、虚拟线程、HTTP Interface 实战
2025年5月
- 05月31日系统设计设计一个视频直播系统
- 05月30日微服务微服务 API 版本管理:路径版本/Header 版本/Content Negotiation,向后兼容设计
- 05月24日微服务Docker 容器化
- 05月22日MySQL分库分表方案:ShardingSphere vs MyCat 对比
- 05月18日JVM & GCZGC 原理与彩色指针
- 05月3日Java 并发CountDownLatch / CyclicBarrier / Semaphore:三个 AQS 同步工具的区别与实战
2025年4月
- 04月29日SpringSpring 条件注解(@Conditional 家族)的实现与自定义
- 04月25日Java 并发DCL 单例为什么需要 volatile
- 04月21日RedisRedis 管道(Pipeline)vs 批量操作
- 04月18日JVM & GCCMS 收集器原理与缺点
- 04月15日系统设计设计一个数据隐私脱敏系统
- 04月11日Java 并发CAS 原理与 ABA 问题
- 04月9日SpringSpring 循环依赖三级缓存源码级解析
- 04月4日消息队列RabbitMQ 消息可靠投递:Confirm 机制与 Return 回调
- 04月4日分布式系统分布式锁实现方案对比:Redis Redlock vs ZK 临时节点 vs Etcd Lease
2025年3月
- 03月24日SpringSpring 事务传播机制(REQUIRED/REQUIRES_NEW/NESTED 等 7 种)
- 03月22日RedisRedis vs Memcached:选缓存别再只看名气
- 03月5日MySQL表设计与字段选型
- 03月2日分布式系统分布式存储架构
2025年2月
- 02月28日MySQLJOIN 优化:NLJ vs BNL vs Hash Join(MySQL 8.0+)
- 02月26日JVM & GC堆外内存排查
- 02月24日SpringSpring Security + OAuth2 认证授权体系
- 02月16日SpringSpring AOP 原理:JDK 动态代理 vs CGLIB
- 02月13日SpringSpring Boot 自动配置原理:@EnableAutoConfiguration 与 spring.factories
- 02月3日分布式系统CRDT 无冲突复制数据类型
- 02月2日RedisRedis 事务(MULTI/EXEC/WATCH)——和数据库事务的区别与乐观锁实战
2025年1月
- 01月31日Redis本地缓存 + Redis 二级缓存架构
- 01月27日JVM & GC常用 JDK 命令行工具(jps/jstat/jmap/jstack/jinfo)
- 01月20日SpringSpring Batch 批处理
- 01月16日消息队列RocketMQ 架构设计:NameServer/Broker/Producer/Consumer 角色
- 01月16日JVM & GC垃圾回收算法:标记清除 / 复制 / 标记整理 / 分代
- 01月15日MySQL深分页与 ORDER BY 优化:文件排序 vs 索引排序
- 01月4日系统设计设计一个对象存储系统
- 01月2日Java 并发ConcurrentHashMap 1.7 vs 1.8 演进
- 01月1日微服务微服务中的 Saga 模式实战:订单/库存/支付场景的补偿设计
2024年12月
- 12月25日系统设计设计一个网约车派单系统
- 12月23日SpringSpring 拦截器(HandlerInterceptor) vs 过滤器(Filter) vs 切面(AOP)
- 12月23日分布式系统分布式缓存一致性:Cache Aside / Read Through / Write Through,缓存与数据库双写一致性难题
- 12月21日JVM & GCJVM 参数调优经验:堆/栈/GC 参数最佳实践
- 12月18日分布式系统分布式熔断降级:Hystrix 线程池隔离 vs Sentinel 信号量隔离,半开状态恢复
- 12月17日SpringSpring Boot Actuator 生产监控实践
- 12月15日消息队列Kafka 消息顺序保证:如何在分区内和跨分区保证有序
- 12月11日微服务微服务日志治理:ELK vs Loki + Grafana,结构化日志与全链路日志关联
- 12月10日MySQL分布式事务:XA 协议 vs TCC vs Seata AT 模式
- 12月9日消息队列Kafka 消息丢失场景与排查:生产端/消费端/服务端全链路分析
- 12月8日MySQL大表 DDL 方案:Online DDL 与 gh-ost 原理
- 12月5日MySQLMySQL 8.0 新特性
- 12月4日系统设计设计一个分布式锁系统
- 12月3日RedisRedis 持久化:RDB vs AOF vs 混合持久化,怎么选?
- 12月3日JVM & GC对象存活判断:引用计数 vs 可达性分析
2024年11月
- 11月30日消息队列Kafka 消息可靠性:ACK 机制与 ISR 副本同步原理
- 11月15日系统设计设计一个搜索系统(全文搜索引擎)
- 11月8日微服务服务容错设计:熔断/降级/限流/重试/超时,Hystrix 到 Sentinel 的演进
- 11月6日RedisRedis 大 Key 问题:排查与治理——从故障根因到系统化方案
2024年10月
- 10月21日SpringSpring Cloud 核心组件选型(OpenFeign/Gateway/Nacos/Sentinel)
- 10月17日系统设计系统设计面试:实时消息系统(IM)怎么设计?
- 10月11日消息队列Kafka 生产事故:发消息超时、堆积、消费延迟排查
- 10月10日RedisRedis 过期键删除策略:为什么你的内存打满了?
- 10月8日MySQLMySQL 主从同步原理与延迟排查
- 10月5日微服务微服务发布与灰度:蓝绿部署/金丝雀发布/灰度发布,流量路由与版本管理
2024年9月
- 09月20日系统设计设计一个实时数据管道
- 09月4日微服务分布式事务落地对比
2024年8月
- 08月30日Java 并发虚拟线程(Project Loom)原理与对比
- 08月26日微服务Serverless 与 Knative —— 无需管理服务器的微服务运行方式
- 08月25日微服务微服务数据一致性:最终一致性 + 本地消息表 vs 事务消息 vs 事件溯源
2024年7月
- 07月25日JVM & GC类加载机制:双亲委派模型与打破
- 07月17日MySQLMySQL 数据备份与恢复策略(xtrabackup 实战)
- 07月16日微服务微服务网格演进:Service Mesh(Istio + Envoy)原理,边车模式与 Kubernetes 集成
- 07月11日JVM & GCOOM 与 StackOverflow 的常见原因与案例
- 07月10日消息队列消息中间件跨集群复制方案与容灾设计
- 07月5日分布式系统逻辑时钟与向量时钟
- 07月4日分布式系统分布式数据库原理(TiDB)
2024年6月
- 06月30日SpringSpring MVC 处理请求流程:从 HTTP 请求到 DispatcherServlet 九大组件
- 06月26日Java 并发生产者-消费者模型实现方案对比
- 06月10日Spring'@Transactional 失效场景大全(含自调用、传播机制)'
- 06月9日MySQLMySQL 不适用什么场景
- 06月6日RedisRedis 异地多活与 CRDT
2024年5月
- 05月18日RedisRedis 布隆过滤器(Bloom Filter)
- 05月18日RedisRedis 集群模式:主从/哨兵/Cluster
- 05月9日系统设计设计一个分布式 ID 生成器
- 05月5日微服务多层限流防护
2024年4月
- 04月29日SpringSpring Data JPA 深入
- 04月29日微服务Kubernetes 核心概念
- 04月19日消息队列Kafka KRaft 模式
- 04月18日消息队列RabbitMQ 基础架构:Exchange/Binding/Queue 工作模式
- 04月12日系统设计设计一个配置中心
- 04月12日SpringSpring WebFlux 响应式编程
- 04月10日SpringSpring 中的设计模式(工厂/单例/模板/观察者/代理等)
- 04月6日系统设计设计一个 CDN
2024年3月
- 03月22日分布式系统分布式日志收集:ELK vs Loki,海量日志场景下的降采样与存储优化
- 03月19日微服务CI/CD 流水线设计
- 03月18日消息队列Kafka 消费组重平衡机制与优化
- 03月15日Java 并发伪共享与缓存行填充
- 03月1日系统设计设计一个微信朋友圈/Feed 流系统
2024年2月
- 02月29日系统设计设计一个排行榜系统(如抖音热榜)
- 02月28日RedisRedis 内存分析与优化
- 02月15日系统设计设计一个支付系统
- 02月10日分布式系统Paxos 协议核心流程:Prepare → Promise → Accept → Accepted 全链路解析
2024年1月
- 01月30日Spring@Autowired vs @Resource vs @Inject 注入原理与区别
- 01月28日MySQL覆盖索引与回表查询优化
- 01月10日JVM & GCJVM 内存区域划分(堆、栈、元空间等)
- 01月3日MySQL行锁、间隙锁、临键锁与 Next-Key Lock 加锁规则
2023年12月
- 12月29日SpringSpring 事件机制(ApplicationEvent/Listener/Publisher)源码级
- 12月25日Java 并发ForkJoinPool 原理与工作窃取
- 12月24日MySQLEXPLAIN 执行计划详解(type/Extra/rows 关键字段)
- 12月22日RedisRedis 分布式锁:从 SETNX 到 Redlock 的演进与实践
- 12月5日SpringSpring 优雅关闭与 Shutdown Hook 实战
- 12月5日JVM & GCTomcat 类加载器为什么打破双亲委派
- 12月2日MySQLMVCC 核心:ReadView 生成规则与可见性判断
2023年11月
- 11月24日JVM & GCCPU 100% 排查实战(top + jstack)
- 11月22日MySQLMySQL 索引结构:B+ 树 vs B 树 vs 哈希索引
- 11月20日RedisRedis 生产事故复盘:全量缓存过期
- 11月19日MySQL慢 SQL 优化实战:索引失效场景大全
- 11月14日消息队列Kafka Streams 流处理:从消费者到实时计算引擎
- 11月13日分布式系统分布式全局时钟:NTP 精度问题,Google TrueTime / Spanner 的全局快照隔离
- 11月11日RedisRedis 6.0+ 多线程真相
- 11月6日RedisRedis 缓存穿透、击穿、雪崩
- 11月3日SpringSpring Bean 生命周期(从 XML 解析到销毁回调)
2023年10月
- 10月28日系统设计设计一个评论系统
- 10月27日微服务服务网关设计:Gateway vs Zuul vs Kong,路由/限流/熔断/鉴权一体化
- 10月20日MySQLInnoDB 存储引擎架构
- 10月18日微服务微服务架构本质:SOA vs 微服务,2025 年做微服务和 2015 年有什么不同
- 10月10日分布式系统生产事故复盘:分布式系统时钟不同步导致数据异常,如何排查与避免
- 10月7日分布式系统分布式系统 CAP 理论:到底能不能同时满足 CA?为什么说 AP 是多数场景下的现实选择
- 10月4日分布式系统面试官追问:分布式系统最难的到底是共识还是故障处理?你经历过的最大分布式事故
- 10月3日RedisRedis 5 种基本数据结构及其底层实现
- 10月2日系统设计设计一个通知系统(推送/短信/邮件)
- 10月2日Spring面试官追问:不用 Spring 框架,你怎么实现 IoC 和 AOP
2023年9月
- 09月25日SpringSpring Cache 抽象
- 09月9日系统设计设计一个打车系统(Uber/滴滴)
- 09月3日Java 并发LockSupport 原理与 park/unpark
- 09月1日Java 并发Phaser 与 StampedLock 等冷门但有用的并发工具
2023年8月
- 08月24日RedisRedis Stream 消息队列
- 08月21日分布式系统分布式一致性哈希:虚拟节点解决数据倾斜,动态扩缩容时的数据迁移策略
- 08月19日Java 并发Synchronized 底层实现:偏向锁 → 轻量锁 → 重量锁
- 08月12日MySQL分页查询优化:大偏移量 LIMIT 的 3 种解法