+
+[](https://github.com/Snailclimb/JavaGuide)
+
+[](https://javaguide.cn/)
+
+
+
+
+[GitHub](https://github.com/Snailclimb/JavaGuide) | [Gitee](https://gitee.com/SnailClimb/JavaGuide)
-
-
> 1. **面试专版** :准备面试的小伙伴可以考虑面试专版:[《Java 面试指北 》](https://javaguide.cn/zhuanlan/java-mian-shi-zhi-bei.html) (质量很高,专为面试打造,配合 JavaGuide 食用)。
> 1. **知识星球** :专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 [JavaGuide 知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)(点击链接即可查看星球的详细介绍,一定一定一定确定自己真的需要再加入,一定一定要看完详细介绍之后再加我)。
-> 2. **转载须知** :以下所有文章如非文首说明为转载皆为我(Guide 哥)的原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!
+> 1. **转载须知** :以下所有文章如非文首说明为转载皆为我(Guide 哥)的原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!
-
-

+
+
## 项目相关
-* [项目介绍](./docs/javaguide/intro.md)
-* [贡献指南](./docs/javaguide/contribution-guideline.md)
-* [常见问题](./docs/javaguide/faq.md)
-* [项目待办](./docs/javaguide/todo.md)
+- [项目介绍](./docs/javaguide/intro.md)
+- [贡献指南](./docs/javaguide/contribution-guideline.md)
+- [常见问题](./docs/javaguide/faq.md)
+- [项目待办](./docs/javaguide/todo.md)
## Java
@@ -74,15 +65,15 @@
**源码分析** :
-* [ArrayList 源码+扩容机制分析](./docs/java/collection/arraylist-source-code.md)
-* [HashMap(JDK1.8)源码+底层数据结构分析](./docs/java/collection/hashmap-source-code.md)
-* [ConcurrentHashMap 源码+底层数据结构分析](./docs/java/collection/concurrent-hash-map-source-code.md)
+- [ArrayList 源码+扩容机制分析](./docs/java/collection/arraylist-source-code.md)
+- [HashMap(JDK1.8)源码+底层数据结构分析](./docs/java/collection/hashmap-source-code.md)
+- [ConcurrentHashMap 源码+底层数据结构分析](./docs/java/collection/concurrent-hash-map-source-code.md)
### IO
-* [IO 基础知识总结](./docs/java/io/io-basis.md)
-* [IO 设计模式总结](./docs/java/io/io-design-patterns.md)
-* [IO 模型详解](./docs/java/io/io-model.md)
+- [IO 基础知识总结](./docs/java/io/io-basis.md)
+- [IO 设计模式总结](./docs/java/io/io-design-patterns.md)
+- [IO 模型详解](./docs/java/io/io-model.md)
### 并发
@@ -100,11 +91,11 @@
- [Java 并发容器总结](./docs/java/concurrent/java-concurrent-collections.md)
- [Atomic 原子类总结](./docs/java/concurrent/atomic-classes.md)
- [AQS 详解](./docs/java/concurrent/aqs.md)
-- [CompletableFuture详解](./docs/java/concurrent/completablefuture-intro.md)
+- [CompletableFuture 详解](./docs/java/concurrent/completablefuture-intro.md)
### JVM (必看 :+1:)
-JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle.com/javase/specs/jvms/se8/html/index.html) 和周志明老师的[《深入理解Java虚拟机(第3版)》](https://book.douban.com/subject/34907497/) (强烈建议阅读多遍!)。
+JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle.com/javase/specs/jvms/se8/html/index.html) 和周志明老师的[《深入理解 Java 虚拟机(第 3 版)》](https://book.douban.com/subject/34907497/) (强烈建议阅读多遍!)。
- **[Java 内存区域](./docs/java/jvm/memory-area.md)**
- **[JVM 垃圾回收](./docs/java/jvm/jvm-garbage-collection.md)**
@@ -117,7 +108,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### 新特性
-- **Java 8** :[Java 8 新特性总结(翻译)](./docs/java/new-features/java8-tutorial-translate.md)、[Java8常用新特性总结](./docs/java/new-features/java8-common-new-features.md)
+- **Java 8** :[Java 8 新特性总结(翻译)](./docs/java/new-features/java8-tutorial-translate.md)、[Java8 常用新特性总结](./docs/java/new-features/java8-common-new-features.md)
- [Java 9 新特性概览](./docs/java/new-features/java9.md)
- [Java 10 新特性概览](./docs/java/new-features/java10.md)
- [Java 11 新特性概览](./docs/java/new-features/java11.md)
@@ -166,7 +157,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
- [线性数据结构 :数组、链表、栈、队列](./docs/cs-basics/data-structure/linear-data-structure.md)
- [图](./docs/cs-basics/data-structure/graph.md)
- [堆](./docs/cs-basics/data-structure/heap.md)
-- [树](./docs/cs-basics/data-structure/tree.md) :重点关注[红黑树](./docs/cs-basics/data-structure/red-black-tree.md)、B-,B+,B*树、LSM树
+- [树](./docs/cs-basics/data-structure/tree.md) :重点关注[红黑树](./docs/cs-basics/data-structure/red-black-tree.md)、B-,B+,B\*树、LSM 树
其他常用数据结构 :
@@ -176,17 +167,17 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:
-* [算法学习书籍+资源推荐](https://www.zhihu.com/question/323359308/answer/1545320858) 。
-* [如何刷Leetcode?](https://www.zhihu.com/question/31092580/answer/1534887374)
+- [算法学习书籍+资源推荐](https://www.zhihu.com/question/323359308/answer/1545320858) 。
+- [如何刷 Leetcode?](https://www.zhihu.com/question/31092580/answer/1534887374)
**常见算法问题总结** :
-* [几道常见的字符串算法题总结 ](./docs/cs-basics/algorithms/string-algorithm-problems.md)
-* [几道常见的链表算法题总结 ](./docs/cs-basics/algorithms/linkedlist-algorithm-problems.md)
-* [剑指 offer 部分编程题](./docs/cs-basics/algorithms/the-sword-refers-to-offer.md)
-* [十大经典排序算法](./docs/cs-basics/algorithms/10-classical-sorting-algorithms.md)
+- [几道常见的字符串算法题总结 ](./docs/cs-basics/algorithms/string-algorithm-problems.md)
+- [几道常见的链表算法题总结 ](./docs/cs-basics/algorithms/linkedlist-algorithm-problems.md)
+- [剑指 offer 部分编程题](./docs/cs-basics/algorithms/the-sword-refers-to-offer.md)
+- [十大经典排序算法](./docs/cs-basics/algorithms/10-classical-sorting-algorithms.md)
-另外,[GeeksforGeeks]( https://www.geeksforgeeks.org/fundamentals-of-algorithms/) 这个网站总结了常见的算法 ,比较全面系统。
+另外,[GeeksforGeeks](https://www.geeksforgeeks.org/fundamentals-of-algorithms/) 这个网站总结了常见的算法 ,比较全面系统。
## 数据库
@@ -196,9 +187,8 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
- [NoSQL 基础知识总结](./docs/database/nosql.md)
- [字符集详解](./docs/database/character-set.md)
- SQL :
- - [SQL语法基础知识总结](./docs/database/sql/sql-syntax-summary.md)
- - [SQL常见面试题总结](./docs/database/sql/sql-questions-01.md)
-
+ - [SQL 语法基础知识总结](./docs/database/sql/sql-syntax-summary.md)
+ - [SQL 常见面试题总结](./docs/database/sql/sql-questions-01.md)
### MySQL
@@ -209,14 +199,14 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
**重要知识点:**
-- [MySQL索引详解](./docs/database/mysql/mysql-index.md)
-- [MySQL事务隔离级别图文详解)](./docs/database/mysql/transaction-isolation-level.md)
-- [MySQL三大日志(binlog、redo log和undo log)详解](./docs/database/mysql/mysql-logs.md)
+- [MySQL 索引详解](./docs/database/mysql/mysql-index.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)
- [SQL 语句在 MySQL 中的执行过程](./docs/database/mysql/how-sql-executed-in-mysql.md)
- [MySQL 查询缓存详解](./docs/database/mysql/mysql-query-cache.md)
-- [MySQL执行计划分析](./docs/database/mysql/mysql-query-execution-plan.md)
-- [MySQL自增主键一定是连续的吗](./docs/database/mysql/mysql-auto-increment-primary-key-continuous.md)
+- [MySQL 执行计划分析](./docs/database/mysql/mysql-query-execution-plan.md)
+- [MySQL 自增主键一定是连续的吗](./docs/database/mysql/mysql-auto-increment-primary-key-continuous.md)
- [MySQL 时间类型数据存储建议](./docs/database/mysql/some-thoughts-on-database-storage-time.md)
- [MySQL 隐式转换造成索引失效](./docs/database/mysql/index-invalidation-caused-by-implicit-conversion.md)
@@ -229,7 +219,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
**重要知识点:**
-- [3种常用的缓存读写策略详解](./docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md)
+- [3 种常用的缓存读写策略详解](./docs/database/redis/3-commonly-used-cache-read-and-write-strategies.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)
@@ -244,7 +234,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
## 搜索引擎
-[Elasticsearch常见面试题总结(付费)](./docs/database/elasticsearch/elasticsearch-questions-01.md)
+[Elasticsearch 常见面试题总结(付费)](./docs/database/elasticsearch/elasticsearch-questions-01.md)

@@ -260,13 +250,13 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### Docker
-* [Docker 核心概念总结](./docs/tools/docker/docker-intro.md)
-* [Docker 实战](./docs/tools/docker/docker-in-action.md)
+- [Docker 核心概念总结](./docs/tools/docker/docker-intro.md)
+- [Docker 实战](./docs/tools/docker/docker-in-action.md)
### Git
-* [Git 核心概念总结](./docs/tools/git/git-intro.md)
-* [Github 实用小技巧总结](./docs/tools/git/github-tips.md)
+- [Git 核心概念总结](./docs/tools/git/git-intro.md)
+- [Github 实用小技巧总结](./docs/tools/git/github-tips.md)
## 系统设计
@@ -277,7 +267,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
- [RestFul API 简明教程](./docs/system-design/basis/RESTfulAPI.md)
- [软件工程简明教程简明教程](./docs/system-design/basis/software-engineering.md)
-- [代码命名指南](./docs/system-design/basis/naming.md)
+- [代码命名指南](./docs/system-design/basis/naming.md)
- [代码重构指南](./docs/system-design/basis/refactoring.md)
- [单元测试指南](./docs/system-design/basis/unit-test.md)
@@ -312,10 +302,9 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
- [SSO 单点登录详解](./docs/system-design/security/sso-intro.md)
- [权限系统设计详解](./docs/system-design/security/design-of-authority-system.md)
-
#### 数据脱敏
-数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。
+数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 \* 来代替。
#### 敏感词过滤
@@ -360,8 +349,8 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### RPC
-* [RPC 基础常见知识点&面试题总结](./docs/distributed-system/rpc/rpc-intro.md)
-* [Dubbo 常见知识点&面试题总结](./docs/distributed-system/rpc/dubbo.md)
+- [RPC 基础常见知识点&面试题总结](./docs/distributed-system/rpc/rpc-intro.md)
+- [Dubbo 常见知识点&面试题总结](./docs/distributed-system/rpc/dubbo.md)
### ZooKeeper
@@ -423,20 +412,19 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### 灾备设计和异地多活
-**灾备** = 容灾+备份。
+**灾备** = 容灾+备份。
-* **备份** : 将系统所产生的的所有重要数据多备份几份。
-* **容灾** : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
+- **备份** : 将系统所产生的的所有重要数据多备份几份。
+- **容灾** : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
**异地多活** 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。
## Star 趋势
-
+
## 公众号
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。

-