JavaGuide
JavaGuide:Java 后端 + 计算机基础全套
- Java 必读源码系列 | Dubbo + Netty + Spring Boot 源码解析 — [介绍](介绍) 《Java 必读源码系列》 是我的[知识星球](https://javaguide.cn/about-the-author/zhishixi
- Java 面试指北 | Java 后端面试指南 | Java 八股文面试题大全 — 四年磨一剑,只为打造最优质的 Java 面试指南。 这本《Java 面试指北》(后端面试通用)的内容经过反复打磨,质量极高,旨在帮助每一位 Java/后端求职
- 大模型实战项目 + Agent实战项目:Spring AI 面试平台与 RAG 知识库 — 很多后端同学准备简历项目时都会遇到同一个问题:项目里全是增删改查(CRUD),技术栈看起来不少,但面试官很难继续深挖,也很难体现你对 大模型应用开发、RAG 知
- 手写 RPC 框架 | Netty + Kryo + Zookeeper 实战教程 — [介绍](介绍) 《手写 RPC 框架》 是我的[知识星球](https://javaguide.cn/about-the-author/zhishixing
- 后端高频系统设计面试题 | 场景题 | 秒杀系统 | 短链系统(含答案) — [介绍](介绍) 《后端面试高频系统设计&场景题》 是我的[知识星球](https://javaguide.cn/about-the-author/zhish
- Maven 核心概念总结 — > 这部分内容主要根据 Maven 官方文档整理,做了对应的删减,主要保留比较重要的部分,不涉及实战,主要是一些重要概念的介绍。 [Maven 介绍](ma
- Maven 最佳实践 — > 本文由 JavaGuide 翻译并完善,原文地址:<https://medium.com/@AlexanderObregon/maven-best-prac
- Gradle 核心概念总结 — > 这部分内容主要根据 Gradle 官方文档整理,做了对应的删减,主要保留比较重要的部分,不涉及实战,主要是一些重要概念的介绍。 Gradle 这部分内容属
- GitHub 实用小技巧总结 — GitHub 不只是代码托管平台。对开发者来说,它同时承担了项目展示、代码阅读、开源协作、自动化构建和个人主页的作用。这篇文章整理一些比较实用的 GitHub
- Git 核心概念总结 — [版本控制](版本控制) [什么是版本控制](什么是版本控制) 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 除了项目源
- Docker 核心概念总结 — 本文主要讲 Docker 的核心概念、运行模型和常见使用场景,不展开安装过程。安装、命令练习和本地服务启动可以看后面的 [Docker 实战](https://
- Docker 实战 — [Docker 介绍](docker-介绍) 开始之前,先简单回顾一下 Docker。更完整的概念介绍可以看前一篇文章:[Docker 核心概念总结](htt
- Web 实时消息推送详解 — > 原文地址:[https://juejin.cn/post/7122014462181113887,JavaGuide](https://juejin.cn/
- 系统设计常见面试题总结(付费) — 系统设计 相关的面试题为我的[知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-two-yea
- 为什么忘记密码时只能重置,不能告诉你原密码? — 这是一个挺有意思的问题,很多公司也在面试中问过。挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。 
- 敏感词过滤方案总结 — 敏感词过滤是内容安全的核心环节。无论是社交媒体、电商平台、在线游戏,还是如今的 AI 应用,都需要对输入和生成的内容进行实时过滤,防止色情、暴力、仇恨言论等违规
- JWT 基础概念详解 — [的校验呢? > -
- 数据脱敏方案总结 — [ 和授权 (Authorization)的区别是什么?](认证-authentication-和授权-authoriza
- JWT 身份认证优缺点分析 — 校招面试中,遇到大部分的候选者认证登录这块用的都是 JWT。提问 JWT 的概念性问题以及使用 JWT 的原因,基本都能回答一些,但当问到 JWT 存在的一些问
- Java 定时任务详解 — [为什么需要定时任务?](为什么需要定时任务) 我们来看一下几个非常常见的业务场景: 1. 某系统凌晨 1 点要进行数据备份。 2. 某电商平台,用户下单半
- Spring Boot核心源码解读(付费) — Spring Boot 核心源码解读 为我的[知识星球](https://javaguide.cn/about-the-author/zhishixingqiu
- SpringBoot常见面试题总结(付费) — Spring Boot 相关的面试题为我的[知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-
- Spring 事务详解 — 前段时间答应读者的 Spring 事务 分析总结终于来了。这部分内容比较重要,不论是对于工作还是面试,但是网上比较好的参考资料比较少。 [什么是事务?](什
- Spring常见面试题总结 — 这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码! 下面的很多问题我自己在使用 Spring 的过程中也并没有注意,自
- Spring 中的设计模式详解 — “JDK 中用到了哪些设计模式? Spring 中用到了哪些设计模式? ”这两个问题,在面试中比较常见。 我在网上搜索了一下关于 Spring 中设计模式的讲
- Spring&SpringMVC&SpringBoot常用注解总结 — 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景。对于每一个注解本文都提供了具体用法,掌
- SpringBoot 自动装配原理详解 — > 作者:[Miki-byte-1024](https://github.com/Miki-byte-1024) & [Snailclimb](https://
- IoC & AOP详解(快速搞懂) — 这篇文章会从下面从以下几个问题展开对 IoC & AOP 的解释 - 什么是 IoC? - IoC 解决了什么问题? - IoC 和 DI 的区别? - 什么
- Async 注解原理分析 — `@Async` 注解由 Spring 框架提供,被该注解标注的类或方法会在 异步线程 中执行。这意味着当方法被调用时,调用者将不会等待该方法执行完成,而是可以
- Netty常见面试题总结(付费) — Netty 相关的面试题为我的[知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-two-ye
- MyBatis常见面试题总结 — > 本篇文章由 JavaGuide 收集自网络,原出处不明。 > > 比起这些枯燥的面试题,我更建议你看看文末推荐的 MyBatis 优质好文。 [{} 和
- 设计模式常见面试题总结 — 设计模式 相关的面试题已经整理到了 PDF 手册中,你可以在我的公众号“JavaGuide”后台回复“PDF” 获取。 这篇文章。
- 软件工程简明教程 — 大部分软件开发从业者,都会忽略软件开发中的一些最基础、最底层的一些概念。但是,这些软件开发的概念对于软件开发来说非常重要,就像是软件开发的基石一样。这也是我写这
- 代码重构指南 — 前段时间重读了[《重构:改善代码既有设计》](https://book.douban.com/subject/30468597/),收货颇多。于是,简单写了一篇
- 代码命名指南 — 我还记得我刚工作那一段时间, 项目 Code Review 的时候,我经常因为变量命名不规范而被 “diss”! 究其原因还是自己那会经验不足,而且,大学那会
- RestFul API 简明教程 — 这篇文章简单聊聊后端程序员必备的 RESTful API 相关的知识。 开始正式介绍 RESTful API 之前,我们需要首先搞清:API 到底是什么?
- J2EE 基础知识 — 在 Java Web 程序中,Servlet主要负责接收用户请求 `HttpServletRequest`,在`doGet()`,`doPost()`中做相应的
- Java/Go 开发者 AI 应用开发与 Agent 学习路线(2026 最新版) — 你好,我是 Guide。这是面向 Java/Go 后端开发者的 AI 应用开发与 Agent 学习路线 2026 最新版。JavaGuide 这两年陆续写了不少
- Java 后端学习路线(2026 最新版) — 这是 Java 学习路线的 2026 最新版,每年都会根据当下 Java 后端求职和招聘的最新要求进行全面的优化和改进。 这篇文章可能是你所见过的最用心、最全
- 后端开发者全栈学习路线(2026 最新版):AI 时代如何补齐前端和交付能力 — 这是面向后端开发者的全栈学习路线 2026 最新版。后台经常有人问我: > 后端要不要学前端? > > AI 都能写页面了,我还要不要系统学 Vue、Reac
- 后端开发者转型 AI Agent 学习建议(2026 最新版) — 大家好,我是 Guide。这是后端开发者转型 AI Agent 方向的学习建议 2026 最新版。 最近后台和星球里,经常看到类似的问题: > 做了几年 J
- Java 优质开源技术教程 — [Java](java) - [JavaGuide](https://github.com/Snailclimb/JavaGuide "JavaGuide")
- Java 优质开源开发工具 — [代码质量](代码质量) - [SonarQube](https://github.com/SonarSource/sonarqube "sonarqube"
- Java 优质开源工具类 — [代码质量](代码质量) - [Lombok](https://github.com/rzwitserloot/lombok) :一个能够简化 Java 代码
- Java 优质开源系统设计项目 — [基础框架](基础框架) [Web 框架](web-框架) - [Spring Boot](https://github.com/spring-proje
- Java 优质开源实战项目 — [AI](ai) - [interview-guide](https://github.com/Snailclimb/interview-guide):基于
- Java 优质开源 AI 项目 — 很多小伙伴私下问我:现在 AI 这么火,咱们写 Java 的是不是只能在旁边看戏? 说实话,以前确实有点难受。 毕竟主流的 AI 框架大多是 Python 的
- Java 优质开源大数据项目 — - [Spark](https://github.com/apache/spark) :Spark 是用于大规模数据处理的统一分析引擎。 - [Flink](h
- 使用建议 — 对于不准备面试的同学来说 ,本文档倾向于给你提供一个比较详细的学习路径,目录清晰,让你对于 Java 整体的知识体系有一个清晰认识。你可以跟着视频、书籍或者官方
- 项目介绍 — 我是 19 年大学毕业的,在大三准备面试的时候,我开源了 JavaGuide 。我把自己准备面试过程中的一些总结都毫不保留地通过 JavaGuide 分享了出来
- 网站历史 — 由于项目内容一直持续在更新迭代,所以,这里就不记录项目内容的具体更新情况了。 你可以通过 [RSS 订阅](https://javaguide.cn/feed
- 常见问题 — [JavaGuide 是否支持 RSS?](javaguide-是否支持-rss) 必须支持!推荐 RSS 订阅本网站获取最新更新。 [JavaGuide
- 贡献指南 — 你好,我是 Guide!欢迎来到 JavaGuide 的“开源实验室”。 参与开源项目的维护,不仅是一次技术实战,更是一场“技术反哺”的修行。 在这里,你的
- Java 9 新特性概览 — Java 9 发布于 2017 年 9 月 21 日。作为 Java 8 之后 3 年半才发布的新版本,Java 9 带来了很多重大的变化其中最重要的改动是 J
- 《Java8 指南》中文翻译 — 《Java8 指南》中文翻译 JDK 8 于 2014 年 3 月 18 日发布,这是一个 LTS(长期支持版)版本,是 Java 历史上最重要的版本之一。至
- Java8 新特性实战 — > 本文来自[cowbi](https://github.com/cowbi)的投稿~ JDK 8 于 2014 年 3 月 18 日发布,这是一个 LTS(
- Java 26 新特性概览 — JDK 26 于 2026 年 3 月 17 日 发布,这是一个非 LTS(非长期支持版)版本。上一个长期支持版是 JDK 25,下一个长期支持版预计是 JDK
- Java 25 新特性概览 — JDK 25 于 2025 年 9 月 16 日 发布,这是一个非常重要的版本,里程碑式。 JDK 25 是 LTS(长期支持版),至此为止,目前有 JDK8
- Java 24 新特性概览 — JDK 24 于 2025 年 3 月发布,这是一个非 LTS(长期支持版)版本。下一个长期支持版是 JDK 25,预计于 2025 年 9 月发布。 JDK
- Java 22 & 23 新特性概览 — JDK 23 和 JDK 22 一样,这也是一个非 LTS(长期支持)版本,Oracle 仅提供六个月的支持。下一个长期支持版是 JDK 25,预计于 2025
- Java 21 新特性概览(重要) — JDK 21 于 2023 年 9 月 19 日 发布,这是一个非常重要的版本,里程碑式。 JDK 21 是 LTS(长期支持版),至此为止,目前有 JDK8
- Java 20 新特性概览 — JDK 20 于 2023 年 3 月 21 日发布,非长期支持版本。 根据开发计划,下一个 LTS 版本就是将于 2023 年 9 月发布的 JDK 21。
- Java 19 新特性概览 — JDK 19 于 2022 年 9 月 20 日正式发布,非长期支持版本。 JDK 19 共有 7 个新特性,这篇文章会挑选其中较为重要的一些新特性进行详细介
- Java 18 新特性概览 — Java 18 在 2022 年 3 月 22 日正式发布,非长期支持版本。 JDK 18 共有 8 个新特性,这篇文章会挑选其中较为重要的一些新特性进行详细
- Java 17 新特性概览(重要) — Java 17 在 2021 年 9 月 14 日正式发布,是一个长期支持(LTS)版本。 下面这张图是 Oracle 官方给出的 Oracle JDK 支持
- Java 16 新特性概览 — Java 16 在 2021 年 3 月 16 日正式发布,非长期支持(LTS)版本。 JDK 16 共有 17 个新特性,这篇文章会挑选其中较为重要的一些新
- Java 14 & 15 新特性概览 — [Java 14](java-14) JDK 14 于 2020 年 3 月 17 日发布,这是一个非 LTS 版本。 这篇文章会挑选其中较为重要的一些新特
- Java 12 & 13 新特性概览 — [Java 12](java-12) JDK 12 于 2019 年 3 月 19 日发布,这是一个非 LTS 版本。 这篇文章会挑选其中较为重要的一些新特
- Java 11 新特性概览(重要) — Java 11 于 2018 年 9 月 25 日正式发布,这是很重要的一个版本!Java 11 是继 Java 8 之后的第一个长期支持(Long-Term-
- Java 10 新特性概览 — Java 10 发布于 2018 年 3 月 20 日,这是一个非 LTS(长期支持)版本,Oracle 仅提供六个月的支持。 下图是从 JDK 8 到 JD
- Java内存区域详解(重点) — > 如果没有特殊说明,都是针对的是 HotSpot 虚拟机。 > > 本文基于《深入理解 Java 虚拟机:JVM 高级特性与最佳实践》进行总结补充。 > >
- 最重要的JVM参数总结 — > 本文由 JavaGuide 翻译自 <https://www.baeldung.com/jvm-parameters>,并对文章进行了大量的完善补充。
- 大白话带你认识 JVM — > 来自[说出你的愿望吧丷](https://juejin.im/user/5c2400afe51d45451758aa96)投稿,原文地址:<https://
- JVM线上问题排查和性能调优案例 — JVM 线上问题排查和性能调优也是面试常问的一个问题,尤其是社招中大厂的面试。 这篇文章,我会分享一些我看到的相关的案例。 下面是正文。 [一次线上 OO
- JVM垃圾回收详解(重点) — > 如果没有特殊说明,都是针对的是 HotSpot 虚拟机。 > > 本文基于《深入理解 Java 虚拟机:JVM 高级特性与最佳实践》进行总结补充。 > >
- JDK监控和故障处理工具总结 — [JDK 命令行工具](jdk-命令行工具) 这些命令在 JDK 安装目录下的 bin 目录下: - `jps` (JVM Process Status):
- 类加载器详解(重点) — [回顾一下类加载过程](回顾一下类加载过程) 开始介绍类加载器和双亲委派模型之前,简单回顾一下类加载过程。 - 类加载过程:加载->连接->初始化。 - 连
- 类加载过程详解 — [类的生命周期](类的生命周期) 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段:加载(Loading)、验证(Ve
- 类文件结构详解 — [回顾一下字节码](回顾一下字节码) 在 Java 中,JVM 可以理解的代码就叫做 `字节码`(即扩展名为 `.class` 的文件),它不面向任何特定的处
- Java NIO 核心知识总结 — 在学习 NIO 之前,需要先了解一下计算机 I/O 模型的基础理论知识。还不了解的话,可以参考我写的这篇文章:[Java IO 模型详解](https://ja
- Java IO 模型详解 — IO 模型这块确实挺难理解的,需要太多计算机底层知识。写这篇文章用了挺久,就非常希望能把我所知道的讲出来吧!希望朋友们能有收获!为了写这篇文章,还翻看了一下《U
- Java IO 设计模式总结 — 这篇文章我们简单来看看我们从 IO 中能够学习到哪些设计模式的应用。 [装饰器模式](装饰器模式) 装饰器(Decorator)模式 可以在不改变原有对象
- Java IO 基础知识总结 — [IO 流简介](io-流简介) IO 即 `Input/Output`,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,
- 虚拟线程常见问题总结 — [
- 从ReentrantLock的实现看AQS的原理及应用 — > 本文转载自:<https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html> > > 作者:美
- 乐观锁和悲观锁详解 — 如果将悲观锁(Pessimistic Lock)和乐观锁(Optimistic Lock)对应到现实生活中来。悲观锁有点像是一位比较悲观(也可以说是未雨绸缪)的
- JMM(Java 内存模型)详解 — 对于 Java 来说,你可以把 JMM(Java 内存模型) 看作是 Java 定义的并发编程相关的一组规范。除了抽象了线程和主内存之间的关系之外,其还规定了从
- Java 线程池详解 — 池化技术想必大家已经屡见不鲜了,线程池、数据库连接池、HTTP 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用
- Java 线程池最佳实践 — 简单总结一下我了解的使用线程池的时候应该注意的东西,网上似乎还没有专门写这方面的文章。 [1、正确声明线程池](_1、正确声明线程池) 线程池必须手动通过
- Java 锁详解:互斥锁、读写锁、自旋锁与 synchronized 锁优化 — 学 Java 并发时,锁相关的名字很容易让大家搞混:互斥锁、读写锁、自旋锁、悲观锁、乐观锁、CAS、AQS、`synchronized`、`ReentrantL
- Java并发常见面试题总结(下) — [ — [ — [线程](线程) [⭐️ 什么是线程和进程?](⭐️-什么是线程和进程) [何为进程?](何为进程) 进程是程序的一次执行过程,是系统运行程序的基本单