Java

Java锁事

从ReentrantLock的实现看AQS的原理及应用

让人恶心的多线程代码,性能怎么优化!

线程池

一文带你吃透线程池

Java线程池实现原理及其在美团业务中的实践 - 美团技术团队

如何设置线程池参数?美团给出了一个回答。 - InfoQ 写作平台

线程池要设置多大 - 云+社区 - 腾讯云

这些年背过的面试题——多线程篇

GC

咱们从头到尾说一次 Java 垃圾回收

JVM-技术专题-GCViewer调优GC - InfoQ 写作平台

常用JVM调优参数 - InfoQ 写作平台

YGC问题排查 - InfoQ 写作平台

系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

了解Java中的内存泄漏

Java中9种常见的CMS GC问题分析与解决 - 美团技术团队

新一代垃圾回收器ZGC的探索与实践 - InfoQ

从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化

干货 | 提升内存管理效率,携程酒店查询服务轻量化探索和实践

每天 100 万次登陆请求,8G 内存该如何设置 JVM 参数?

从 JDK 9 到 19,认识一个新的 Java 形态(内存篇)

Spring Cloud Gateway下的GC停顿排查之旅

Spring Cloud高频面试题

Spring

CRUD搬砖两三年了,怎么阅读Spring源码? - InfoQ 写作平台

16张图解锁Spring的整体脉络_Java_4ye_InfoQ写作平台

SpringBoot 应用程序启动过程揭秘

面试被问烂的 Spring IOC(求求你别再问了) - 简书

面试问烂的 Spring AOP 原理、SpringMVC 过程 - 简书

深入聊一聊 Spring AOP 实现机制

fuzhengwei/small-spring

Spring事务用法示例与实现原理 - charming丶的个人空间 - OSCHINA - 中文开源技术交流社区

Spring的统一事务模型

Spring的声明式事务模型

spring事务的这10种坑,你稍不注意可能就会踩中!!! - 掘金

spring源码阅读--@Transactional实现原理_一撸向北的博客-CSDN博客_@transactional注解

几行烂代码,用错 Transactional,我赔了16万

创建spring boot starter - InfoQ 写作平台

研究优雅停机时的一点思考

为什么数据库连接池不采用 IO 多路复用?

Spring循环依赖那些事儿(含Spring详细流程图)

探索|Spring并行初始化加速的思路和实践

这些年背过的面试题——Spring篇

Netty

Netty源码笔记 · 看云

netty - 标签 - duanxz - 博客园

源码之下无秘密 ── 做最好的 Netty 源码分析教程 - SegmentFault 思否

bin的技术小屋

记一次 Netty 堆外内存泄露排查过程

Netty堆外内存泄露排查盛宴 - 美团技术团队

Netty 实现长连接服务的难点和优化点

从线上偶发的宕机事件看Netty流量控制

通过 HTTP/2 协议案例学习 Java & Netty 性能调优:工具、技巧与方法论

Redis客户端Lettuce深度分析介绍(上)

others

一文说透”静态代理”与”动态代理” - InfoQ 写作平台

进击的 Java ,云原生时代的蜕变

为什么线程崩溃不会导致 JVM 崩溃

Java本地高性能缓存实践

Java异常处理和最佳实践(含案例分析)

一种新的流:为 Java 加入生成器(Generator)特性

Java 平台调试体系原理和实践

Java8 异步非阻塞做法:CompletableFuture 两万字详解!

读懂HikariCP一百行代码,多线程就是个孙子!

一些杂想:Java老矣,尚能饭否?

这些年背过的面试题——JVM篇

MySQL

mysql索引简明教程

深入理解 MySQL 索引底层原理

InnoDB一棵B+树可以存放多少行数据?

Mysql Replication 简明教程

MySQL大表优化方案

Innodb中的事务隔离级别和锁的关系 - 美团技术团队

MySQL 默认隔离级别是RR,为什么大厂会改成RC? - HollisChuang - 博客园

Mysql并发时经典常见的死锁原因及解决方法 - 泽锦 - 博客园

Mysql可重复读(1) —— 快照何时创建

Mysql可重复读(2) —— 快照真的就是快照吗

自己手写一个Mybatis框架(简化)

MySQL线程池卡顿重现 | plantegg

扑朔迷离的根因分析 | plantegg

这些年背过的面试题——MySQL篇

MySQL 上亿大表,如何深度优化?

MyBatis SQL是如何执行的? - InfoQ 写作平台

SQL

没内鬼,来点干货!SQL优化和诊断

了解那些“奇葩”SQL写法,快速写出高效率SQL

MySQL“被动”性能优化汇总! - InfoQ 写作平台

一篇明白SQL的执行顺序_sql in执行顺序-CSDN博客

分库分表

干货 | 支持10X增长,携程机票订单库Sharding实践

大众点评订单系统分库分表实践 - 美团技术团队

分库分表会带来读扩散问题?怎么解决?

分表分页/跨库分页为什么这么难?

分库分表技术演进&最佳实践

分库分表&百亿级数据迁移

一文读懂数据库优化之分库分表

Sharding-JDBC源码解析与vivo的定制开发

Redis和缓存

这些年背过的面试题——Redis篇

Redis 知识总结

Redis为何这么快–数据存储角度

Redis 和 I/O 多路复用

缓存三大问题及解决方案

如何保证缓存与数据库的双写一致性?

万字图文讲透数据库缓存一致性问题

深入浅出分布式缓存的通用方法

后端缓存的23个关键关注点

Redis 实战篇:巧用 Bitmap 实现亿级数据统计 - SegmentFault 思否

如何判断一个元素在亿级数据中是否存在?

记一次 Redis 连接问题排查

你的Redis真的变慢了吗?性能优化如何做

Redis延迟问题全面排障指南

美团大规模KV存储挑战与架构实践

分布式锁

浅析 Redis 分布式锁解决方案-InfoQ

一文讲透Redis分布式锁安全问题

redis分布式锁的8大坑

最强分布式工具Redisson(一):分布式锁 - 掘金

MQ

关于消息队列的知识总结

Kafka

这些年背过的面试题——Kafka篇

Kafka设计解析(一)- Kafka背景及架构介绍 | 技术世界

Kafka设计解析(六)- Kafka高性能架构之道 | 技术世界

你可能用错了kafka的重试机制-InfoQ

刨根问底 Kafka,面试过程真好使

#硬核kafka系列

干货 | 成本低误差小,携程基于 Kafka 的 Serverless 延迟队列的实践

网络

Kafka 内幕:源代码High level分析

消息队列之推还是拉,RocketMQ 和 Kafka 是如何做的? - InfoQ 写作平台

Rocket MQ

ApacheRocketMQ 101

7张图揭晓RocketMQ存储设计的奥妙_RocketMQ_中间件兴趣圈_InfoQ写作平台

深度解读 RocketMQ 存储机制

金融行业消息队列选型及实践

消息队列之 MetaQ 和 Kafka 哪个更香!

RocketMQ 在小米的多场景灾备实践案例

谈谈 RocketMQ 5.0 分级存储背后一些有挑战的技术优化

解读 RocketMQ 5.0 全新的高可用设计

MongoDB

MongoDB 全方位知识图谱

ES

DB与ES混合之应用系统场景分析探讨

从MongoDB迁移到ES后,我们减少了80%的服务器 - InfoQ

学学Elasticsearch:Term查询和全文查询,一文详解 - 简书

LSM树和Elasticsearch的索引写入机制 - 阿凡卢 - 博客园

千万级数据查询中CK、ES、RediSearch方案的优化

这些年背过的面试题——ES篇

大数据

高手如何实践HBase?不容错过的滴滴内部技巧

案例篇-HBase 在滴滴出行的应用场景和最佳实践-阿里云开发者社区

降本增效创未来——云原生多模数据库Lindorm 2022双十一总结

​深入浅出 ClickHouse 物化视图

爱奇艺大数据加速:从Hive到Spark SQL

大数据技术漫谈 ——从Hadoop、Storm、Spark、HBase到Hive、Flink、Lindorm - 字节跳动ADFE团队的文章 - 知乎

随机漫步的数据:信息论、大数据技术和不切实际的联想

干货 | 节约60%开发工时,离在线一体化数仓系统在携程旅游的落地实践

network

TCP 的那些事儿(上) | 酷 壳 - CoolShell

TCP 的那些事儿(下) | 酷 壳 - CoolShell

TCP 重传、滑动窗口、流量控制、拥塞控制图解 - InfoQ 写作平台

了解 HTTP 看这一篇就够

腾讯HTTPS性能优化实践

扫盲 netcat(网猫)的 N 种用法——从“网络诊断”到“系统入侵” @ 编程随想的博客

实战瓶颈定位-我的MySQL为什么压不上去 | plantegg

实战瓶颈定位-我的MySQL为什么压不上去–写场景 | plantegg

理论

性能优化

后台服务架构高性能设计之道(含宏观和微观的各种性能优化方式)

互联网架构:屡试不爽的架构三马车(微服务,消息队列,定时任务在一个项目架构里的设计

互联网架构三板斧之并发(一个web请求全链路上的优化)

浅谈系统性能提升的经验和方法(好代码case)

系统设计

应用性能设计的圣杯:读写扩散的概念与实践(读扩散符合数据库设计范式,写扩散制造冗余数据,适当取舍)

月活 12.8 亿的微信是如何防止崩溃的?

调度算法20张图 - InfoQ 写作平台

不懂就问:如何正确设计一个订单号? - V2EX

虽然难用,但12306面临的业务场景复杂度可能是世界之最

四步构建异地多活

system-design-primer-zh-tw

订单超时怎么处理?我们用这种方案

订单导出的再设计:用数据哲学做交易平台

创业之路的故事|如何设计一个用户系统

如何写出一篇好的技术方案?

如何写一份高可读性的软件工程设计文档

分享一例有意思的灰度设计缺陷,浅谈灰度方案的设计

领域驱动设计DDD|从入门到代码实践

如何设计一个海量任务调度系统

3.5万字:一文搞懂“支付系统”

万字:“账户系统”设计深度解析

万字:对账系统从入门到精通

这些年背过的面试题——架构设计篇

web

石墨文档Websocket百万长连接技术实践_产品_杜旻翔_InfoQ精选文章

抖音世界杯中 RTC 的技术挑战与实现_架构_InfoQ精选文章

Web 实时消息推送的 7 种实现方案

QPS

服务端性能优化–最大QPS推算及验证 - huangyingsheng - 博客园

QPS和延时的乘积是常量

高并发是一种架构思维模式

架构与思维:设计容量,到底有多重要 ?

微服务

GitHub - xiaojiaqi/deploy-microservices-to-a-Kubernetes-cluster: 如何将微服务部署在kubernetes集群之上

微服务接口设计原则

干货 | 携程微服务体系下的服务治理之道和优化实践

Java微服务随机掉线排查思路 - rm-rf* - 博客园

基础篇丨链路追踪(Tracing)其实很简单

聊聊服务发现的推拉模型

常用注册中心原理及比较 - InfoQ 写作平台

这些年背过的面试题——SpringCloud篇

上一任留下的 Eureka,我该如何提升她的性能和稳定性(含数据比对)?

分布式

Snowflake有什么问题及相关解决方案 - luozhiyuns Blog

分布式系统互斥性与幂等性问题的分析与解决

两天,我把分布式事务搞完了 - InfoQ 写作平台

如何通过事务消息保障抢购业务的分布式一致性?-InfoQ

最终一致性和实时一致性是什么?在架构设计中,我们应该选择哪种方式?_我爱娃哈哈的技术博客_51CTO博客

这些年背过的面试题——分布式篇

分布式事务概述与项目实战

共识算法

很短 | 图解 Raft 算法

共识算法:A Computer Odyssey

共识协议的技术变迁 – 既要“高”容错,又要“易”定序,还要“好”理解

Raft 论文导读:探索一种可理解的共识算法

从Paxos到Raft,分布式一致性算法解析-InfoQ

深入解读Raft算法与etcd工程实现

可靠分布式系统-paxos的直观解释 - OpenACID Blog

设计模式

Spring 框架用到的 9 个设计模式

Mybatis 使用的 9 种设计模式

设计模式在外卖营销业务中的实践 - 美团技术团队

观察者模式 vs 发布订阅模式

方法论

干货 | 携程中转交通方案拼接性能优化

出了bug怎么办

技术大牛养成指南,一篇不鸡汤的成功学实践

技术人最重要的能力是什么?

阿里毕玄现身说法:程序员成长路线

万字详文阐释程序员修炼之道

阿里云块存储团队软件工程实践

澄清“自由软件、开源软件”相关概念及许可证的误解 @ 编程随想的博客

入行 14 年,我还是觉得编程很难 | Piglei

技术高手如何炼成 - 知乎

从一道面试题谈起 | plantegg

该重视软件方法了,实现:利润 = 需求 - 设计

如何成为架构师?

Docker

构建安全可靠、最小化的 Docker 镜像 - 掘金

Docker 网络模式详解及容器间网络通信 - InfoQ 写作平台

从零开始入门 K8s:深入剖析 Linux 容器-InfoQ

不要把大型JAR包放进Docker镜像-InfoQ

构建Java镜像的10个最佳实践-今日头条

Kubernetes 上 Java 应用的最佳实践

Go

Build web application with Golang

Go by Example 中文版

Go 语言设计与实现 | Go 语言设计与实现

如何写出优雅的 Golang 代码-InfoQ

Go 组件 Context 源码学习笔记

程序员开发效率神器汇总!

使用Go实现ping工具

[长文]从《100 Go Mistakes》我总结了什么?

100个Go编程错误小抄

AI

干货 | 携程AI应用的推理性能优化

干货|基于CPU的深度学习推理部署优化实践 - InfoQ

从软件开发到AI领域工程师:模型训练篇 - InfoQ

写给开发同学的 AI 强化学习入门指南

基于AI+数据驱动的慢查询索引推荐 - 美团技术团队

通俗直观介绍ChatGPT背后的大语言模型理论知识

十分钟读懂Stable Diffusion运行原理

C++

C++ 借来的资源,如何还的潇洒? - InfoQ 写作平台

百度C++工程师的那些极限优化(并发篇) - InfoQ 写作平台

浅谈协程

实战总结|抽丝剥茧,记一次神奇的崩溃

C++知识体系总结:语言核心与代码工程

工具

Linux常用命令知识积累

一文揭晓,我是如何在 Linux 中查找自如

“攻城狮”实用指南之Linux CPU性能优化 - InfoQ 写作平台

为啥我的代码库那么大?聊聊Git使用坏习惯

Which open source license? – rants.org

AI助手

How to become a prompt engineer - luozhiyuns Blog

Copilot,最好的编程助手 | CatCoding