{"id":13424861,"url":"https://github.com/Snailclimb/JavaGuide","last_synced_at":"2025-03-15T18:35:50.756Z","repository":{"id":37273427,"uuid":"132464395","full_name":"Snailclimb/JavaGuide","owner":"Snailclimb","description":"「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试，首选 JavaGuide！","archived":false,"fork":false,"pushed_at":"2024-10-29T08:49:48.000Z","size":176439,"stargazers_count":146634,"open_issues_count":68,"forks_count":45582,"subscribers_count":4514,"default_branch":"main","last_synced_at":"2024-10-29T09:55:10.794Z","etag":null,"topics":["algorithms","interview","java","jvm","mysql","redis","spring","system","system-design","zookeeper"],"latest_commit_sha":null,"homepage":"https://javaguide.cn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Snailclimb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-07T13:27:00.000Z","updated_at":"2024-10-29T09:30:51.000Z","dependencies_parsed_at":"2023-09-29T00:53:33.252Z","dependency_job_id":"c1bb36c7-ab83-4095-bf21-4c007881496c","html_url":"https://github.com/Snailclimb/JavaGuide","commit_stats":{"total_commits":4235,"total_committers":612,"mean_commits":6.919934640522876,"dds":0.3364817001180638,"last_synced_commit":"74170ea66df5c21bb40860a3932c2f3eaba1023b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snailclimb%2FJavaGuide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snailclimb%2FJavaGuide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snailclimb%2FJavaGuide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snailclimb%2FJavaGuide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snailclimb","download_url":"https://codeload.github.com/Snailclimb/JavaGuide/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243558871,"owners_count":20310648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","interview","java","jvm","mysql","redis","spring","system","system-design","zookeeper"],"created_at":"2024-07-31T00:01:00.233Z","updated_at":"2025-03-15T18:35:50.708Z","avatar_url":"https://github.com/Snailclimb.png","language":"Java","readme":"推荐你通过在线阅读网站进行阅读，体验更好，速度更快！地址：[javaguide.cn](https://javaguide.cn/)。\n\n[\u003cimg src=\"https://oss.javaguide.cn/xingqiu/xingqiu.png\" style=\"width:850px;margin: 0 auto\" /\u003e](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)\n\n\u003cdiv align=\"center\"\u003e\n\n[![logo](https://oss.javaguide.cn/github/javaguide/csdn/1c00413c65d1995993bf2b0daf7b4f03.png)](https://github.com/Snailclimb/JavaGuide)\n\n[GitHub](https://github.com/Snailclimb/JavaGuide) | [Gitee](https://gitee.com/SnailClimb/JavaGuide)\n\n\u003c/div\u003e\n\n\u003e - **面试专版**：准备 Java 面试的小伙伴可以考虑面试专版：**[《Java 面试指北 》](./docs/zhuanlan/java-mian-shi-zhi-bei.md)** (质量很高，专为面试打造，配合 JavaGuide 食用)。\n\u003e - **知识星球**：专属面试小册/一对一交流/简历修改/专属求职指南，欢迎加入 **[JavaGuide 知识星球](./docs/about-the-author/zhishixingqiu-two-years.md)**（点击链接即可查看星球的详细介绍，一定确定自己真的需要再加入）。\n\u003e - **使用建议** ：有水平的面试官都是顺着项目经历挖掘技术问题。一定不要死记硬背技术八股文！详细的学习建议请参考：[JavaGuide 使用建议](./docs/javaguide/use-suggestion.md)。\n\u003e - **求个Star**：如果觉得 JavaGuide 的内容对你有帮助的话，还请点个免费的 Star，这是对我最大的鼓励，感谢各位一起同行，共勉！Github 地址：[https://github.com/Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide) 。\n\u003e - **转载须知**：以下所有文章如非文首说明为转载皆为 JavaGuide 原创，转载请在文首注明出处。如发现恶意抄袭/搬运，会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境！\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png\" style=\"margin: 0 auto;\" /\u003e  \n\u003c/div\u003e\n\n\u003c!-- #region home --\u003e\n\n## 项目相关\n\n- [项目介绍](https://javaguide.cn/javaguide/intro.html)\n- [使用建议](https://javaguide.cn/javaguide/use-suggestion.html)\n- [贡献指南](https://javaguide.cn/javaguide/contribution-guideline.html)\n- [常见问题](https://javaguide.cn/javaguide/faq.html)\n\n## Java\n\n### 基础\n\n**知识点/面试题总结** : (必看:+1: )：\n\n- [Java 基础常见知识点\u0026面试题总结(上)](./docs/java/basis/java-basic-questions-01.md)\n- [Java 基础常见知识点\u0026面试题总结(中)](./docs/java/basis/java-basic-questions-02.md)\n- [Java 基础常见知识点\u0026面试题总结(下)](./docs/java/basis/java-basic-questions-03.md)\n\n**重要知识点详解**：\n\n- [为什么 Java 中只有值传递？](./docs/java/basis/why-there-only-value-passing-in-java.md)\n- [Java 序列化详解](./docs/java/basis/serialization.md)\n- [泛型\u0026通配符详解](./docs/java/basis/generics-and-wildcards.md)\n- [Java 反射机制详解](./docs/java/basis/reflection.md)\n- [Java 代理模式详解](./docs/java/basis/proxy.md)\n- [BigDecimal 详解](./docs/java/basis/bigdecimal.md)\n- [Java 魔法类 Unsafe 详解](./docs/java/basis/unsafe.md)\n- [Java SPI 机制详解](./docs/java/basis/spi.md)\n- [Java 语法糖详解](./docs/java/basis/syntactic-sugar.md)\n\n### 集合\n\n**知识点/面试题总结**：\n\n- [Java 集合常见知识点\u0026面试题总结(上)](./docs/java/collection/java-collection-questions-01.md) (必看 :+1:)\n- [Java 集合常见知识点\u0026面试题总结(下)](./docs/java/collection/java-collection-questions-02.md) (必看 :+1:)\n- [Java 容器使用注意事项总结](./docs/java/collection/java-collection-precautions-for-use.md)\n\n**源码分析**：\n\n- [ArrayList 核心源码+扩容机制分析](./docs/java/collection/arraylist-source-code.md)\n- [LinkedList 核心源码分析](./docs/java/collection/linkedlist-source-code.md)\n- [HashMap 核心源码+底层数据结构分析](./docs/java/collection/hashmap-source-code.md)\n- [ConcurrentHashMap 核心源码+底层数据结构分析](./docs/java/collection/concurrent-hash-map-source-code.md)\n- [LinkedHashMap 核心源码分析](./docs/java/collection/linkedhashmap-source-code.md)\n- [CopyOnWriteArrayList 核心源码分析](./docs/java/collection/copyonwritearraylist-source-code.md)\n- [ArrayBlockingQueue 核心源码分析](./docs/java/collection/arrayblockingqueue-source-code.md)\n- [PriorityQueue 核心源码分析](./docs/java/collection/priorityqueue-source-code.md)\n- [DelayQueue 核心源码分析](./docs/java/collection/delayqueue-source-code.md)\n\n### IO\n\n- [IO 基础知识总结](./docs/java/io/io-basis.md)\n- [IO 设计模式总结](./docs/java/io/io-design-patterns.md)\n- [IO 模型详解](./docs/java/io/io-model.md)\n- [NIO 核心知识总结](./docs/java/io/nio-basis.md)\n\n### 并发\n\n**知识点/面试题总结** : (必看 :+1:)\n\n- [Java 并发常见知识点\u0026面试题总结（上）](./docs/java/concurrent/java-concurrent-questions-01.md)\n- [Java 并发常见知识点\u0026面试题总结（中）](./docs/java/concurrent/java-concurrent-questions-02.md)\n- [Java 并发常见知识点\u0026面试题总结（下）](./docs/java/concurrent/java-concurrent-questions-03.md)\n\n**重要知识点详解**：\n\n- [乐观锁和悲观锁详解](./docs/java/concurrent/jmm.md)\n- [CAS 详解](./docs/java/concurrent/cas.md)\n- [JMM（Java 内存模型）详解](./docs/java/concurrent/jmm.md)\n- **线程池**：[Java 线程池详解](./docs/java/concurrent/java-thread-pool-summary.md)、[Java 线程池最佳实践](./docs/java/concurrent/java-thread-pool-best-practices.md)\n- [ThreadLocal 详解](./docs/java/concurrent/threadlocal.md)\n- [Java 并发容器总结](./docs/java/concurrent/java-concurrent-collections.md)\n- [Atomic 原子类总结](./docs/java/concurrent/atomic-classes.md)\n- [AQS 详解](./docs/java/concurrent/aqs.md)\n- [CompletableFuture 详解](./docs/java/concurrent/completablefuture-intro.md)\n\n### JVM (必看 :+1:)\n\nJVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.com/javase/specs/jvms/se8/html/index.html) 和周志明老师的[《深入理解 Java 虚拟机（第 3 版）》](https://book.douban.com/subject/34907497/) （强烈建议阅读多遍！）。\n\n- **[Java 内存区域](./docs/java/jvm/memory-area.md)**\n- **[JVM 垃圾回收](./docs/java/jvm/jvm-garbage-collection.md)**\n- [类文件结构](./docs/java/jvm/class-file-structure.md)\n- **[类加载过程](./docs/java/jvm/class-loading-process.md)**\n- [类加载器](./docs/java/jvm/classloader.md)\n- [【待完成】最重要的 JVM 参数总结（翻译完善了一半）](./docs/java/jvm/jvm-parameters-intro.md)\n- [【加餐】大白话带你认识 JVM](./docs/java/jvm/jvm-intro.md)\n- [JDK 监控和故障处理工具](./docs/java/jvm/jdk-monitoring-and-troubleshooting-tools.md)\n\n### 新特性\n\n- **Java 8**：[Java 8 新特性总结（翻译）](./docs/java/new-features/java8-tutorial-translate.md)、[Java8 常用新特性总结](./docs/java/new-features/java8-common-new-features.md)\n- [Java 9 新特性概览](./docs/java/new-features/java9.md)\n- [Java 10 新特性概览](./docs/java/new-features/java10.md)\n- [Java 11 新特性概览](./docs/java/new-features/java11.md)\n- [Java 12 \u0026 13 新特性概览](./docs/java/new-features/java12-13.md)\n- [Java 14 \u0026 15 新特性概览](./docs/java/new-features/java14-15.md)\n- [Java 16 新特性概览](./docs/java/new-features/java16.md)\n- [Java 17 新特性概览](./docs/java/new-features/java17.md)\n- [Java 18 新特性概览](./docs/java/new-features/java18.md)\n- [Java 19 新特性概览](./docs/java/new-features/java19.md)\n- [Java 20 新特性概览](./docs/java/new-features/java20.md)\n- [Java 21 新特性概览](./docs/java/new-features/java21.md)\n- [Java 22 \u0026 23 新特性概览](./docs/java/new-features/java22-23.md)\n\n## 计算机基础\n\n### 操作系统\n\n- [操作系统常见知识点\u0026面试题总结(上)](./docs/cs-basics/operating-system/operating-system-basic-questions-01.md)\n- [操作系统常见知识点\u0026面试题总结(下)](./docs/cs-basics/operating-system/operating-system-basic-questions-02.md)\n- **Linux**：\n  - [后端程序员必备的 Linux 基础知识总结](./docs/cs-basics/operating-system/linux-intro.md)\n  - [Shell 编程基础知识总结](./docs/cs-basics/operating-system/shell-intro.md)\n\n### 网络\n\n**知识点/面试题总结**：\n\n- [计算机网络常见知识点\u0026面试题总结(上)](./docs/cs-basics/network/other-network-questions.md)\n- [计算机网络常见知识点\u0026面试题总结(下)](./docs/cs-basics/network/other-network-questions2.md)\n- [谢希仁老师的《计算机网络》内容总结（补充）](./docs/cs-basics/network/computer-network-xiexiren-summary.md)\n\n**重要知识点详解**：\n\n- [OSI 和 TCP/IP 网络分层模型详解（基础）](./docs/cs-basics/network/osi-and-tcp-ip-model.md)\n- [应用层常见协议总结（应用层）](./docs/cs-basics/network/application-layer-protocol.md)\n- [HTTP vs HTTPS（应用层）](./docs/cs-basics/network/http-vs-https.md)\n- [HTTP 1.0 vs HTTP 1.1（应用层）](./docs/cs-basics/network/http1.0-vs-http1.1.md)\n- [HTTP 常见状态码（应用层）](./docs/cs-basics/network/http-status-codes.md)\n- [DNS 域名系统详解（应用层）](./docs/cs-basics/network/dns.md)\n- [TCP 三次握手和四次挥手（传输层）](./docs/cs-basics/network/tcp-connection-and-disconnection.md)\n- [TCP 传输可靠性保障（传输层）](./docs/cs-basics/network/tcp-reliability-guarantee.md)\n- [ARP 协议详解(网络层)](./docs/cs-basics/network/arp.md)\n- [NAT 协议详解(网络层)](./docs/cs-basics/network/nat.md)\n- [网络攻击常见手段总结（安全）](./docs/cs-basics/network/network-attack-means.md)\n\n### 数据结构\n\n**图解数据结构：**\n\n- [线性数据结构 :数组、链表、栈、队列](./docs/cs-basics/data-structure/linear-data-structure.md)\n- [图](./docs/cs-basics/data-structure/graph.md)\n- [堆](./docs/cs-basics/data-structure/heap.md)\n- [树](./docs/cs-basics/data-structure/tree.md)：重点关注[红黑树](./docs/cs-basics/data-structure/red-black-tree.md)、B-，B+，B\\*树、LSM 树\n\n其他常用数据结构：\n\n- [布隆过滤器](./docs/cs-basics/data-structure/bloom-filter.md)\n\n### 算法\n\n算法这部分内容非常重要，如果你不知道如何学习算法的话，可以看下我写的：\n\n- [算法学习书籍+资源推荐](https://www.zhihu.com/question/323359308/answer/1545320858) 。\n- [如何刷 Leetcode?](https://www.zhihu.com/question/31092580/answer/1534887374)\n\n**常见算法问题总结**：\n\n- [几道常见的字符串算法题总结](./docs/cs-basics/algorithms/string-algorithm-problems.md)\n- [几道常见的链表算法题总结](./docs/cs-basics/algorithms/linkedlist-algorithm-problems.md)\n- [剑指 offer 部分编程题](./docs/cs-basics/algorithms/the-sword-refers-to-offer.md)\n- [十大经典排序算法](./docs/cs-basics/algorithms/10-classical-sorting-algorithms.md)\n\n另外，[GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algorithms/) 这个网站总结了常见的算法 ，比较全面系统。\n\n## 数据库\n\n### 基础\n\n- [数据库基础知识总结](./docs/database/basis.md)\n- [NoSQL 基础知识总结](./docs/database/nosql.md)\n- [字符集详解](./docs/database/character-set.md)\n- SQL :\n  - [SQL 语法基础知识总结](./docs/database/sql/sql-syntax-summary.md)\n  - [SQL 常见面试题总结](./docs/database/sql/sql-questions-01.md)\n\n### MySQL\n\n**知识点/面试题总结：**\n\n- **[MySQL 常见知识点\u0026面试题总结](./docs/database/mysql/mysql-questions-01.md)** (必看 :+1:)\n- [MySQL 高性能优化规范建议总结](./docs/database/mysql/mysql-high-performance-optimization-specification-recommendations.md)\n\n**重要知识点：**\n\n- [MySQL 索引详解](./docs/database/mysql/mysql-index.md)\n- [MySQL 事务隔离级别图文详解)](./docs/database/mysql/transaction-isolation-level.md)\n- [MySQL 三大日志(binlog、redo log 和 undo log)详解](./docs/database/mysql/mysql-logs.md)\n- [InnoDB 存储引擎对 MVCC 的实现](./docs/database/mysql/innodb-implementation-of-mvcc.md)\n- [SQL 语句在 MySQL 中的执行过程](./docs/database/mysql/how-sql-executed-in-mysql.md)\n- [MySQL 查询缓存详解](./docs/database/mysql/mysql-query-cache.md)\n- [MySQL 执行计划分析](./docs/database/mysql/mysql-query-execution-plan.md)\n- [MySQL 自增主键一定是连续的吗](./docs/database/mysql/mysql-auto-increment-primary-key-continuous.md)\n- [MySQL 时间类型数据存储建议](./docs/database/mysql/some-thoughts-on-database-storage-time.md)\n- [MySQL 隐式转换造成索引失效](./docs/database/mysql/index-invalidation-caused-by-implicit-conversion.md)\n\n### Redis\n\n**知识点/面试题总结** : (必看:+1: )：\n\n- [Redis 常见知识点\u0026面试题总结(上)](./docs/database/redis/redis-questions-01.md)\n- [Redis 常见知识点\u0026面试题总结(下)](./docs/database/redis/redis-questions-02.md)\n\n**重要知识点：**\n\n- [3 种常用的缓存读写策略详解](./docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md)\n- [Redis 5 种基本数据结构详解](./docs/database/redis/redis-data-structures-01.md)\n- [Redis 3 种特殊数据结构详解](./docs/database/redis/redis-data-structures-02.md)\n- [Redis 持久化机制详解](./docs/database/redis/redis-persistence.md)\n- [Redis 内存碎片详解](./docs/database/redis/redis-memory-fragmentation.md)\n- [Redis 常见阻塞原因总结](./docs/database/redis/redis-common-blocking-problems-summary.md)\n- [Redis 集群详解](./docs/database/redis/redis-cluster.md)\n\n### MongoDB\n\n- [MongoDB 常见知识点\u0026面试题总结(上)](./docs/database/mongodb/mongodb-questions-01.md)\n- [MongoDB 常见知识点\u0026面试题总结(下)](./docs/database/mongodb/mongodb-questions-02.md)\n\n## 搜索引擎\n\n[Elasticsearch 常见面试题总结(付费)](./docs/database/elasticsearch/elasticsearch-questions-01.md)\n\n![JavaGuide 官方公众号](https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png)\n\n## 开发工具\n\n### Maven\n\n- [Maven 核心概念总结](./docs/tools/maven/maven-core-concepts.md)\n- [Maven 最佳实践](./docs/tools/maven/maven-best-practices.md)\n\n### Gradle\n\n[Gradle 核心概念总结](./docs/tools/gradle/gradle-core-concepts.md)（可选，目前国内还是使用 Maven 普遍一些）\n\n### Docker\n\n- [Docker 核心概念总结](./docs/tools/docker/docker-intro.md)\n- [Docker 实战](./docs/tools/docker/docker-in-action.md)\n\n### Git\n\n- [Git 核心概念总结](./docs/tools/git/git-intro.md)\n- [GitHub 实用小技巧总结](./docs/tools/git/github-tips.md)\n\n## 系统设计\n\n- [系统设计常见面试题总结](./docs/system-design/system-design-questions.md)\n- [设计模式常见面试题总结](./docs/system-design/design-pattern.md)\n\n### 基础\n\n- [RestFul API 简明教程](./docs/system-design/basis/RESTfulAPI.md)\n- [软件工程简明教程简明教程](./docs/system-design/basis/software-engineering.md)\n- [代码命名指南](./docs/system-design/basis/naming.md)\n- [代码重构指南](./docs/system-design/basis/refactoring.md)\n- [单元测试指南](./docs/system-design/basis/unit-test.md)\n\n### 常用框架\n\n#### Spring/SpringBoot (必看 :+1:)\n\n**知识点/面试题总结** :\n\n- [Spring 常见知识点\u0026面试题总结](./docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md)\n- [SpringBoot 常见知识点\u0026面试题总结](./docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md)\n- [Spring/Spring Boot 常用注解总结](./docs/system-design/framework/spring/spring-common-annotations.md)\n- [SpringBoot 入门指南](https://github.com/Snailclimb/springboot-guide)\n\n**重要知识点详解**：\n\n- [IoC \u0026 AOP详解（快速搞懂）](./docs/system-design/framework/spring/ioc-and-aop.md)\n- [Spring 事务详解](./docs/system-design/framework/spring/spring-transaction.md)\n- [Spring 中的设计模式详解](./docs/system-design/framework/spring/spring-design-patterns-summary.md)\n- [SpringBoot 自动装配原理详解](./docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md)\n\n#### MyBatis\n\n[MyBatis 常见面试题总结](./docs/system-design/framework/mybatis/mybatis-interview.md)\n\n### 安全\n\n#### 认证授权\n\n- [认证授权基础概念详解](./docs/system-design/security/basis-of-authority-certification.md)\n- [JWT 基础概念详解](./docs/system-design/security/jwt-intro.md)\n- [JWT 优缺点分析以及常见问题解决方案](./docs/system-design/security/advantages-and-disadvantages-of-jwt.md)\n- [SSO 单点登录详解](./docs/system-design/security/sso-intro.md)\n- [权限系统设计详解](./docs/system-design/security/design-of-authority-system.md)\n- [常见加密算法总结](./docs/system-design/security/encryption-algorithms.md)\n\n#### 数据脱敏\n\n数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形，比如我们把手机号、身份证号某些位数使用 \\* 来代替。\n\n#### 敏感词过滤\n\n[敏感词过滤方案总结](./docs/system-design/security/sentive-words-filter.md)\n\n### 定时任务\n\n[Java 定时任务详解](./docs/system-design/schedule-task.md)\n\n### Web 实时消息推送\n\n[Web 实时消息推送详解](./docs/system-design/web-real-time-message-push.md)\n\n## 分布式\n\n### 理论\u0026算法\u0026协议\n\n- [CAP 理论和 BASE 理论解读](https://javaguide.cn/distributed-system/protocol/cap-and-base-theorem.html)\n- [Paxos 算法解读](https://javaguide.cn/distributed-system/protocol/paxos-algorithm.html)\n- [Raft 算法解读](https://javaguide.cn/distributed-system/protocol/raft-algorithm.html)\n- [Gossip 协议详解](https://javaguide.cn/distributed-system/protocol/gossip-protocl.html)\n\n### RPC\n\n- [RPC 基础知识总结](https://javaguide.cn/distributed-system/rpc/rpc-intro.html)\n- [Dubbo 常见知识点\u0026面试题总结](https://javaguide.cn/distributed-system/rpc/dubbo.html)\n\n### ZooKeeper\n\n\u003e 这两篇文章可能有内容重合部分，推荐都看一遍。\n\n- [ZooKeeper 相关概念总结(入门)](https://javaguide.cn/distributed-system/distributed-process-coordination/zookeeper/zookeeper-intro.html)\n- [ZooKeeper 相关概念总结(进阶)](https://javaguide.cn/distributed-system/distributed-process-coordination/zookeeper/zookeeper-plus.html)\n\n### API 网关\n\n- [API 网关基础知识总结](https://javaguide.cn/distributed-system/api-gateway.html)\n- [Spring Cloud Gateway 常见知识点\u0026面试题总结](./docs/distributed-system/spring-cloud-gateway-questions.md)\n\n### 分布式 ID\n\n- [分布式ID介绍\u0026实现方案总结](https://javaguide.cn/distributed-system/distributed-id.html)\n- [分布式 ID 设计指南](https://javaguide.cn/distributed-system/distributed-id-design.html)\n\n### 分布式锁\n\n- [分布式锁介绍](https://javaguide.cn/distributed-system/distributed-lock.html)\n- [分布式锁常见实现方案总结](https://javaguide.cn/distributed-system/distributed-lock-implementations.html)\n\n### 分布式事务\n\n[分布式事务常见知识点\u0026面试题总结](https://javaguide.cn/distributed-system/distributed-transaction.html)\n\n### 分布式配置中心\n\n[分布式配置中心常见知识点\u0026面试题总结](./docs/distributed-system/distributed-configuration-center.md)\n\n## 高性能\n\n### 数据库优化\n\n- [数据库读写分离和分库分表](./docs/high-performance/read-and-write-separation-and-library-subtable.md)\n- [数据冷热分离](./docs/high-performance/data-cold-hot-separation.md)\n- [常见 SQL 优化手段总结](./docs/high-performance/sql-optimization.md)\n- [深度分页介绍及优化建议](./docs/high-performance/deep-pagination-optimization.md)\n\n### 负载均衡\n\n[负载均衡常见知识点\u0026面试题总结](./docs/high-performance/load-balancing.md)\n\n### CDN\n\n[CDN（内容分发网络）常见知识点\u0026面试题总结](./docs/high-performance/cdn.md)\n\n### 消息队列\n\n- [消息队列基础知识总结](./docs/high-performance/message-queue/message-queue.md)\n- [Disruptor 常见知识点\u0026面试题总结](./docs/high-performance/message-queue/disruptor-questions.md)\n- [RabbitMQ 常见知识点\u0026面试题总结](./docs/high-performance/message-queue/rabbitmq-questions.md)\n- [RocketMQ 常见知识点\u0026面试题总结](./docs/high-performance/message-queue/rocketmq-questions.md)\n- [Kafka 常见知识点\u0026面试题总结](./docs/high-performance/message-queue/kafka-questions-01.md)\n\n## 高可用\n\n[高可用系统设计指南](./docs/high-availability/high-availability-system-design.md)\n\n### 冗余设计\n\n[冗余设计详解](./docs/high-availability/redundancy.md)\n\n### 限流\n\n[服务限流详解](./docs/high-availability/limit-request.md)\n\n### 降级\u0026熔断\n\n[降级\u0026熔断详解](./docs/high-availability/fallback-and-circuit-breaker.md)\n\n### 超时\u0026重试\n\n[超时\u0026重试详解](./docs/high-availability/timeout-and-retry.md)\n\n### 集群\n\n相同的服务部署多份，避免单点故障。\n\n### 灾备设计和异地多活\n\n**灾备** = 容灾 + 备份。\n\n- **备份**：将系统所产生的的所有重要数据多备份几份。\n- **容灾**：在异地建立两个完全相同的系统。当某个地方的系统突然挂掉，整个应用系统可以切换到另一个，这样系统就可以正常提供服务了。\n\n**异地多活** 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”，即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。\n\n## Star 趋势\n\n![Stars](https://api.star-history.com/svg?repos=Snailclimb/JavaGuide\u0026type=Date)\n\n## 公众号\n\n如果大家想要实时关注我更新的文章以及分享的干货的话，可以关注我的公众号。\n\n![JavaGuide 官方公众号](https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png)\n\n\u003c!-- #endregion home --\u003e\n","funding_links":[],"categories":["面试","HarmonyOS","Java","编程学习","学习资料","Java/Kotlin","Programming Languages :sunglasses:","Tutorial","Java 程序设计","Java 基础","六、网络优化","Java (504)","Programming Language Tutorials","语言","工具集","七、资源推荐"],"sub_categories":["Windows Manager","Frequently Used","Java","网络服务_其他","教程","资源汇总","计算机基础-java","2. 网站与社区"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSnailclimb%2FJavaGuide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSnailclimb%2FJavaGuide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSnailclimb%2FJavaGuide/lists"}