+- [⭐Java 后端面试通关计划(涵盖后端通用体系)](./docs/interview-preparation/backend-interview-plan.md) (一定要看 :+1:)
+- [如何高效准备 Java 面试?](./docs/interview-preparation/teach-you-how-to-prepare-for-the-interview-hand-in-hand.md)
+- [Java 后端面试重点总结](./docs/interview-preparation/key-points-of-interview.md)
+- [Java 学习路线(最新版,4w+ 字)](./docs/interview-preparation/java-roadmap.md)
+- [程序员简历编写指南](./docs/interview-preparation/resume-guide.md)
+- [项目经验指南](./docs/interview-preparation/project-experience-guide.md)
+- [面试太紧张怎么办?](./docs/interview-preparation/how-to-handle-interview-nerves.md)
+- [校招没有实习经历怎么办?实习经历怎么写?](./docs/interview-preparation/internship-experience.md)
## Java
@@ -217,6 +218,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
**重要知识点:**
- [MySQL 索引详解](./docs/database/mysql/mysql-index.md)
+- [MySQL 索引失效场景总结](./docs/database/mysql/mysql-index-invalidation.md)
- [MySQL 事务隔离级别图文详解)](./docs/database/mysql/transaction-isolation-level.md)
- [MySQL 三大日志(binlog、redo log 和 undo log)详解](./docs/database/mysql/mysql-logs.md)
- [InnoDB 存储引擎对 MVCC 的实现](./docs/database/mysql/innodb-implementation-of-mvcc.md)
@@ -237,6 +239,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
**重要知识点:**
- [3 种常用的缓存读写策略详解](./docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md)
+- [Redis 能做消息队列吗?怎么实现?](./docs/database/redis/redis-stream-mq.md)
- [Redis 5 种基本数据结构详解](./docs/database/redis/redis-data-structures-01.md)
- [Redis 3 种特殊数据结构详解](./docs/database/redis/redis-data-structures-02.md)
- [Redis 持久化机制详解](./docs/database/redis/redis-persistence.md)
@@ -278,8 +281,8 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
## 系统设计
-- [系统设计常见面试题总结](./docs/system-design/system-design-questions.md)
-- [设计模式常见面试题总结](./docs/system-design/design-pattern.md)
+- [⭐系统设计常见面试题总结](./docs/system-design/system-design-questions.md)
+- [⭐设计模式常见面试题总结](https://interview.javaguide.cn/system-design/design-pattern.html)
### 基础
@@ -327,6 +330,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
- [敏感词过滤方案总结](./docs/system-design/security/sentive-words-filter.md)
- [数据脱敏方案总结](./docs/system-design/security/data-desensitization.md)
- [为什么前后端都要做数据校验](./docs/system-design/security/data-validation.md)
+- [为什么忘记密码时只能重置,不能告诉你原密码?](./docs/system-design/security/why-password-reset-instead-of-retrieval.md)
### 定时任务
@@ -338,12 +342,15 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
## 分布式
+- [⭐分布式高频面试题](https://interview.javaguide.cn/distributed-system/distributed-system.html)
+
### 理论&算法&协议
- [CAP 理论和 BASE 理论解读](https://javaguide.cn/distributed-system/protocol/cap-and-base-theorem.html)
- [Paxos 算法解读](https://javaguide.cn/distributed-system/protocol/paxos-algorithm.html)
- [Raft 算法解读](https://javaguide.cn/distributed-system/protocol/raft-algorithm.html)
-- [Gossip 协议详解](https://javaguide.cn/distributed-system/protocol/gossip-protocl.html)
+- [ZAB 协议解读](https://javaguide.cn/distributed-system/protocol/zab.html)
+- [Gossip 协议详解](https://javaguide.cn/distributed-system/protocol/gossip-protocol.html)
- [一致性哈希算法详解](https://javaguide.cn/distributed-system/protocol/consistent-hashing.html)
### RPC
diff --git a/README_EN.md b/README_EN.md
index ce2a5bc88e7..ec1366de844 100644
--- a/README_EN.md
+++ b/README_EN.md
@@ -64,6 +64,7 @@ Recommended to read through online reading platforms for better experience and f
- [ArrayList Core Source Code + Expansion Mechanism Analysis](./docs/java/collection/arraylist-source-code.md)
- [LinkedList Core Source Code Analysis](./docs/java/collection/linkedlist-source-code.md)
- [HashMap Core Source Code + Underlying Data Structure Analysis](./docs/java/collection/hashmap-source-code.md)
+
# Java Collection & Concurrency Series
## Collection
@@ -128,6 +129,7 @@ The JVM part mainly refers to the [JVM Specification - Java 8](https://docs.orac
- [Java 18 New Features Overview](./docs/java/new-features/java18.md)
- [Java 19 New Features Overview](./docs/java/new-features/java19.md)
- [Java 20 New Features Overview](./docs/java/new-features/java20.md)
+
# Overview of Java 21, 22, 23, 24, and 25 New Features
## Computer Fundamentals
@@ -169,7 +171,7 @@ The JVM part mainly refers to the [JVM Specification - Java 8](https://docs.orac
- [Linear Data Structures: Arrays, Linked Lists, Stacks, Queues](./docs/cs-basics/data-structure/linear-data-structure.md)
- [Graphs](./docs/cs-basics/data-structure/graph.md)
- [Heaps](./docs/cs-basics/data-structure/heap.md)
-- [Trees](./docs/cs-basics/data-structure/tree.md): Focus on [Red-Black Trees](./docs/cs-basics/data-structure/red-black-tree.md), B-, B+, B* Trees, and LSM Trees
+- [Trees](./docs/cs-basics/data-structure/tree.md): Focus on [Red-Black Trees](./docs/cs-basics/data-structure/red-black-tree.md), B-, B+, B\* Trees, and LSM Trees
Other Commonly Used Data Structures:
@@ -205,6 +207,7 @@ Additionally, [GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algo
### MySQL
**Knowledge Points/Interview Questions Summary:**
+
# MySQL Common Knowledge Points & Interview Questions Summary (Must-Read :+1:)
- [MySQL Common Knowledge Points & Interview Questions Summary](./docs/database/mysql/mysql-questions-01.md)
@@ -233,6 +236,7 @@ Additionally, [GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algo
**Important Knowledge Points:**
- [Detailed Explanation of 3 Common Cache Read and Write Strategies](./docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md)
+- [Can Redis Be Used as a Message Queue? How to Implement It?](./docs/database/redis/redis-stream-mq.md)
- [Detailed Explanation of Redis' 5 Basic Data Structures](./docs/database/redis/redis-data-structures-01.md)
- [Detailed Explanation of Redis' 3 Special Data Structures](./docs/database/redis/redis-data-structures-02.md)
- [Detailed Explanation of Redis Persistence Mechanism](./docs/database/redis/redis-persistence.md)
@@ -290,6 +294,7 @@ Additionally, [GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algo
#### Spring/SpringBoot (Must-Read :+1:)
**Knowledge Points/Interview Questions Summary**:
+
- [Summary of Common Spring Knowledge Points and Interview Questions](./docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md)
- [Summary of Common SpringBoot Knowledge Points and Interview Questions](./docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md)
- [Summary of Common Spring/SpringBoot Annotations](./docs/system-design/framework/spring/spring-common-annotations.md)
@@ -338,7 +343,7 @@ Additionally, [GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algo
- [Interpretation of CAP Theory and BASE Theory](https://javaguide.cn/distributed-system/protocol/cap-and-base-theorem.html)
- [Interpretation of Paxos Algorithm](https://javaguide.cn/distributed-system/protocol/paxos-algorithm.html)
- [Interpretation of Raft Algorithm](https://javaguide.cn/distributed-system/protocol/raft-algorithm.html)
-- [Detailed Explanation of Gossip Protocol](https://javaguide.cn/distributed-system/protocol/gossip-protocl.html)
+- [Detailed Explanation of Gossip Protocol](https://javaguide.cn/distributed-system/protocol/gossip-protocol.html)
- [Detailed Explanation of Consistent Hashing Algorithm](https://javaguide.cn/distributed-system/protocol/consistent-hashing.html)
### RPC
@@ -364,6 +369,7 @@ Additionally, [GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algo
- [Design Guide for Distributed ID](https://javaguide.cn/distributed-system/distributed-id-design.html)
### Distributed Lock
+
# Distributed Locks
- [Introduction to Distributed Locks](https://javaguide.cn/distributed-system/distributed-lock.html)
@@ -443,4 +449,4 @@ Deploying multiple instances of the same service to avoid single point of failur
If you want to stay up-to-date with my latest articles and share my valuable content, you can follow my official public account.
-
\ No newline at end of file
+
diff --git a/TRANSLATION_TOOLS.md b/TRANSLATION_TOOLS.md
deleted file mode 100644
index e4ab7acac0d..00000000000
--- a/TRANSLATION_TOOLS.md
+++ /dev/null
@@ -1,172 +0,0 @@
-# Translation Tools for JavaGuide
-
-This repository includes automated translation tools to translate all documentation to multiple languages.
-
-## Available Tools
-
-### 1. Python Version (`translate_repo.py`)
-
-**Requirements:**
-```bash
-pip install deep-translator
-```
-
-**Usage:**
-```bash
-python3 translate_repo.py
-```
-
-**Features:**
-- ✅ Uses Google Translate (free, no API key required)
-- ✅ Translates all `.md` files in `docs/` folder + `README.md`
-- ✅ Preserves directory structure
-- ✅ Progress tracking (saves to `.translation_progress.json`)
-- ✅ Skips already translated files
-- ✅ Rate limiting to avoid API throttling
-- ✅ Supports 20 languages
-
-### 2. Java Version (`TranslateRepo.java`)
-
-**Requirements:**
-```bash
-# Requires Gson library
-# Download from: https://repo1.maven.org/maven2/com/google/code/gson/gson/2.10.1/gson-2.10.1.jar
-```
-
-**Compile:**
-```bash
-javac -cp gson-2.10.1.jar TranslateRepo.java
-```
-
-**Usage:**
-```bash
-java -cp .:gson-2.10.1.jar TranslateRepo
-```
-
-**Features:**
-- ✅ Pure Java implementation
-- ✅ Uses Google Translate API (free, no key required)
-- ✅ Same functionality as Python version
-- ✅ Progress tracking with JSON
-- ✅ Supports 20 languages
-
-## Supported Languages
-
-1. English (en)
-2. Chinese Simplified (zh)
-3. Spanish (es)
-4. French (fr)
-5. Portuguese (pt)
-6. German (de)
-7. Japanese (ja)
-8. Korean (ko)
-9. Russian (ru)
-10. Italian (it)
-11. Arabic (ar)
-12. Hindi (hi)
-13. Turkish (tr)
-14. Vietnamese (vi)
-15. Polish (pl)
-16. Dutch (nl)
-17. Indonesian (id)
-18. Thai (th)
-19. Swedish (sv)
-20. Greek (el)
-
-## Output Structure
-
-Original:
-```
-docs/
-├── java/
-│ └── basics.md
-└── ...
-README.md
-```
-
-After translation to English:
-```
-docs_en/
-├── java/
-│ └── basics.en.md
-└── ...
-README.en.md
-```
-
-## How It Works
-
-1. **Scans** all `.md` files in `docs/` folder and `README.md`
-2. **Splits** large files into chunks (4000 chars) to respect API limits
-3. **Translates** each chunk using Google Translate
-4. **Preserves** markdown formatting and code blocks
-5. **Saves** to `docs_{lang}/` with `.{lang}.md` suffix
-6. **Tracks** progress to resume if interrupted
-
-## Example Workflow
-
-```bash
-# 1. Run translation tool
-python3 translate_repo.py
-
-# 2. Select language (e.g., 1 for English)
-Enter choice (1-20): 1
-
-# 3. Confirm translation
-Translate 292 files to English? (y/n): y
-
-# 4. Wait for completion (progress shown for each file)
-[1/292] docs/java/basics/java-basic-questions-01.md
- → docs_en/java/basics/java-basic-questions-01.en.md
- Chunk 1/3... ✅
- Chunk 2/3... ✅
- Chunk 3/3... ✅
- ✅ Translated (5234 → 6891 chars)
-
-# 5. Review and commit
-git add docs_en/ README.en.md
-git commit -m "Add English translation"
-git push
-```
-
-## Progress Tracking
-
-The tool saves progress to `.translation_progress.json`:
-```json
-{
- "completed": [
- "docs/java/basics/file1.md",
- "docs/java/basics/file2.md"
- ],
- "failed": []
-}
-```
-
-If interrupted, simply run the tool again - it will skip completed files and resume where it left off.
-
-## Performance
-
-- **Speed**: ~1 file per 5-10 seconds (depending on file size)
-- **For JavaGuide**: 292 files ≈ 2-3 hours total
-- **Rate limiting**: 1 second delay between chunks to avoid throttling
-
-## Notes
-
-- ✅ Free to use (no API key required)
-- ✅ Preserves markdown formatting
-- ✅ Handles code blocks correctly
-- ✅ Skips existing translations
-- ⚠️ Review translations for accuracy (automated translation may have errors)
-- ⚠️ Large repos may take several hours
-
-## Contributing
-
-After running the translation tool:
-
-1. Review translated files for accuracy
-2. Fix any translation errors manually
-3. Test that links and formatting work correctly
-4. Create a pull request with your translations
-
-## License
-
-These tools are provided as-is for translating JavaGuide documentation.
diff --git a/TranslateRepo.java b/TranslateRepo.java
deleted file mode 100644
index 626e8345717..00000000000
--- a/TranslateRepo.java
+++ /dev/null
@@ -1,386 +0,0 @@
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.*;
-import java.util.*;
-import java.util.stream.Collectors;
-import com.google.gson.*;
-
-/**
- * Repository Documentation Translation Tool
- *
- * Translates all markdown files in docs/ folder to target language.
- * Preserves directory structure and saves to docs_{lang}/ folder.
- *
- * Usage: java TranslateRepo
- */
-public class TranslateRepo {
-
- private static final int CHUNK_SIZE = 4000;
- private static final String PROGRESS_FILE = ".translation_progress.json";
- private static final Map+ 为保障正常阅读体验,本站部分内容已开启一次性验证。验证后全站解锁。 +
+ ++ 扫码/微信搜索关注 + “JavaGuide” +
+回复 “验证码”
+验证码错误,请重试
++ 为保障正常阅读体验,本站部分内容已开启一次性验证。验证后全站自动解锁。 +
+ ++ 扫码关注公众号,回复 “验证码” +
+验证码错误,请重新输入
+