@@ -4,43 +4,30 @@ title: JavaGuide(Java学习&&面试指南)
44---
55
66::: tip 友情提示
7+
78- ** 面试专版** :准备 Java 面试的小伙伴可以考虑面试专版:** [ 《Java 面试指北 》] ( ./zhuanlan/java-mian-shi-zhi-bei.md ) ** (质量很高,专为面试打造,配合 JavaGuide 食用)。
89- ** 知识星球** :专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 ** [ JavaGuide 知识星球] ( ./about-the-author/zhishixingqiu-two-years.md ) ** (点击链接即可查看星球的详细介绍,一定一定一定确定自己真的需要再加入,一定一定要看完详细介绍之后再加我)。
910- ** 转载须知** :以下所有文章如非文首说明为转载皆为 JavaGuide 原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!
11+
1012:::
1113
12- <div align =" center " >
13- <p>
14- <a href="https://github.com/Snailclimb/JavaGuide" target="_blank">
15- <img src="https://oss.javaguide.cn/github/javaguide/csdn/1c00413c65d1995993bf2b0daf7b4f03.png" width="" />
16- </a>
17- </p>
18- <p>
19- <a href="https://javaguide.cn/"><img src="https://img.shields.io/badge/阅读-read-brightgreen.svg" alt="阅读" /></a>
20- <img src="https://img.shields.io/github/stars/Snailclimb/JavaGuide" alt="stars" />
21- <img src="https://img.shields.io/github/forks/Snailclimb/JavaGuide" alt="forks" />
22- <img src="https://img.shields.io/github/issues/Snailclimb/JavaGuide" alt="issues" />
23- </p>
24- <p>
25- <a href="https://github.com/Snailclimb/JavaGuide">Github</a> |
26- <a href="https://gitee.com/SnailClimb/JavaGuide">Gitee</a>
27- </p>
28- </div >
29- <div style =" text-align :center " >
30- <p>
31- <a href="https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html">
32- <img src="https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png" style="margin: 0 auto;" />
33- </a>
34- </p>
35- </div >
14+ [ ![ logo] ( https://oss.javaguide.cn/github/javaguide/csdn/1c00413c65d1995993bf2b0daf7b4f03.png )] ( https://github.com/Snailclimb/JavaGuide )
15+
16+ [ ![ 阅读] ( https://img.shields.io/badge/阅读-read-brightgreen.svg )] ( https://javaguide.cn/ )
17+ ![ Stars] ( https://img.shields.io/github/stars/Snailclimb/JavaGuide )
18+ ![ forks] ( https://img.shields.io/github/forks/Snailclimb/JavaGuide )
19+ ![ issues] ( https://img.shields.io/github/issues/Snailclimb/JavaGuide )
20+
21+ [ GitHub] ( https://github.com/Snailclimb/JavaGuide ) | [ Gitee] ( https://gitee.com/SnailClimb/JavaGuide )
3622
23+ <!-- @include: ./banner.snippet.md -->
3724
3825## 项目相关
3926
40- * [ 项目介绍] ( ./javaguide/intro.md )
41- * [ 贡献指南] ( ./javaguide/contribution-guideline.md )
42- * [ 常见问题] ( ./javaguide/faq.md )
43- * [ 项目代办] ( ./javaguide/todo.md )
27+ - [ 项目介绍] ( ./javaguide/intro.md )
28+ - [ 贡献指南] ( ./javaguide/contribution-guideline.md )
29+ - [ 常见问题] ( ./javaguide/faq.md )
30+ - [ 项目代办] ( ./javaguide/todo.md )
4431
4532## Java
4633
@@ -74,15 +61,15 @@ title: JavaGuide(Java学习&&面试指南)
7461
7562** 源码分析** :
7663
77- * [ ArrayList 源码+扩容机制分析] ( ./java/collection/arraylist-source-code.md )
78- * [ HashMap(JDK1.8)源码+底层数据结构分析] ( ./java/collection/hashmap-source-code.md )
79- * [ ConcurrentHashMap 源码+底层数据结构分析] ( ./java/collection/concurrent-hash-map-source-code.md )
64+ - [ ArrayList 源码+扩容机制分析] ( ./java/collection/arraylist-source-code.md )
65+ - [ HashMap(JDK1.8)源码+底层数据结构分析] ( ./java/collection/hashmap-source-code.md )
66+ - [ ConcurrentHashMap 源码+底层数据结构分析] ( ./java/collection/concurrent-hash-map-source-code.md )
8067
8168### IO
8269
83- * [ IO 基础知识总结] ( ./java/io/io-basis.md )
84- * [ IO 设计模式总结] ( ./java/io/io-design-patterns.md )
85- * [ IO 模型详解] ( ./java/io/io-model.md )
70+ - [ IO 基础知识总结] ( ./java/io/io-basis.md )
71+ - [ IO 设计模式总结] ( ./java/io/io-design-patterns.md )
72+ - [ IO 模型详解] ( ./java/io/io-model.md )
8673
8774### 并发
8875
@@ -100,11 +87,11 @@ title: JavaGuide(Java学习&&面试指南)
10087- [ Java 并发容器总结] ( ./java/concurrent/java-concurrent-collections.md )
10188- [ Atomic 原子类总结] ( ./java/concurrent/atomic-classes.md )
10289- [ AQS 详解] ( ./java/concurrent/aqs.md )
103- - [ CompletableFuture详解 ] ( ./java/concurrent/completablefuture-intro.md )
90+ - [ CompletableFuture 详解 ] ( ./java/concurrent/completablefuture-intro.md )
10491
10592### JVM (必看 :+1 : )
10693
107- JVM 这部分内容主要参考 [ JVM 虚拟机规范-Java8 ] ( https://docs.oracle.com/javase/specs/jvms/se8/html/index.html ) 和周志明老师的[ 《深入理解Java虚拟机(第3版 )》] ( https://book.douban.com/subject/34907497/ ) (强烈建议阅读多遍!)。
94+ JVM 这部分内容主要参考 [ JVM 虚拟机规范-Java8 ] ( https://docs.oracle.com/javase/specs/jvms/se8/html/index.html ) 和周志明老师的[ 《深入理解 Java 虚拟机(第 3 版 )》] ( https://book.douban.com/subject/34907497/ ) (强烈建议阅读多遍!)。
10895
10996- ** [ Java 内存区域] ( ./java/jvm/memory-area.md ) **
11097- ** [ JVM 垃圾回收] ( ./java/jvm/jvm-garbage-collection.md ) **
@@ -117,7 +104,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
117104
118105### 新特性
119106
120- - ** Java 8** :[ Java 8 新特性总结(翻译)] ( ./java/new-features/java8-tutorial-translate.md ) 、[ Java8常用新特性总结 ] ( ./java/new-features/java8-common-new-features.md )
107+ - ** Java 8** :[ Java 8 新特性总结(翻译)] ( ./java/new-features/java8-tutorial-translate.md ) 、[ Java8 常用新特性总结 ] ( ./java/new-features/java8-common-new-features.md )
121108- [ Java 9 新特性概览] ( ./java/new-features/java9.md )
122109- [ Java 10 新特性概览] ( ./java/new-features/java10.md )
123110- [ Java 11 新特性概览] ( ./java/new-features/java11.md )
@@ -165,7 +152,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
165152- [ 线性数据结构 :数组、链表、栈、队列] ( ./cs-basics/data-structure/linear-data-structure.md )
166153- [ 图] ( ./cs-basics/data-structure/graph.md )
167154- [ 堆] ( ./cs-basics/data-structure/heap.md )
168- - [ 树] ( ./cs-basics/data-structure/tree.md ) :重点关注[ 红黑树] ( ./cs-basics/data-structure/red-black-tree.md ) 、B-,B+,B* 树、LSM树
155+ - [ 树] ( ./cs-basics/data-structure/tree.md ) :重点关注[ 红黑树] ( ./cs-basics/data-structure/red-black-tree.md ) 、B-,B+,B\ * 树、LSM 树
169156
170157其他常用数据结构 :
171158
@@ -175,28 +162,28 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
175162
176163算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:
177164
178- * [ 算法学习书籍+资源推荐] ( https://www.zhihu.com/question/323359308/answer/1545320858 ) 。
179- * [ 如何刷Leetcode ?] ( https://www.zhihu.com/question/31092580/answer/1534887374 )
165+ - [ 算法学习书籍+资源推荐] ( https://www.zhihu.com/question/323359308/answer/1545320858 ) 。
166+ - [ 如何刷 Leetcode ?] ( https://www.zhihu.com/question/31092580/answer/1534887374 )
180167
181168** 常见算法问题总结** :
182169
183- * [ 几道常见的字符串算法题总结 ] ( ./cs-basics/algorithms/string-algorithm-problems.md )
184- * [ 几道常见的链表算法题总结 ] ( ./cs-basics/algorithms/linkedlist-algorithm-problems.md )
185- * [ 剑指 offer 部分编程题] ( ./cs-basics/algorithms/the-sword-refers-to-offer.md )
186- * [ 十大经典排序算法] ( ./cs-basics/algorithms/10-classical-sorting-algorithms.md )
170+ - [ 几道常见的字符串算法题总结 ] ( ./cs-basics/algorithms/string-algorithm-problems.md )
171+ - [ 几道常见的链表算法题总结 ] ( ./cs-basics/algorithms/linkedlist-algorithm-problems.md )
172+ - [ 剑指 offer 部分编程题] ( ./cs-basics/algorithms/the-sword-refers-to-offer.md )
173+ - [ 十大经典排序算法] ( ./cs-basics/algorithms/10-classical-sorting-algorithms.md )
187174
188- 另外,[ GeeksforGeeks] ( https://www.geeksforgeeks.org/fundamentals-of-algorithms/ ) 这个网站总结了常见的算法 ,比较全面系统。
175+ 另外,[ GeeksforGeeks] ( https://www.geeksforgeeks.org/fundamentals-of-algorithms/ ) 这个网站总结了常见的算法 ,比较全面系统。
189176
190177## 数据库
191178
192179### 基础
193180
194181- [ 数据库基础知识总结] ( ./database/basis.md )
195- - [ NoSQL基础知识总结 ] ( ./database/nosql.md )
182+ - [ NoSQL 基础知识总结 ] ( ./database/nosql.md )
196183- [ 字符集详解] ( ./database/character-set.md )
197184- SQL :
198- - [ SQL语法基础知识总结 ] ( ./database/sql/sql-syntax-summary.md )
199- - [ SQL常见面试题总结 ] ( ./database/sql/sql-questions-01.md )
185+ - [ SQL 语法基础知识总结 ] ( ./database/sql/sql-syntax-summary.md )
186+ - [ SQL 常见面试题总结 ] ( ./database/sql/sql-questions-01.md )
200187
201188### MySQL
202189
@@ -207,14 +194,14 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
207194
208195** 重要知识点:**
209196
210- - [ MySQL索引详解 ] ( ./database/mysql/mysql-index.md )
211- - [ MySQL事务隔离级别图文详解 )] ( ./database/mysql/transaction-isolation-level.md )
212- - [ MySQL三大日志 (binlog、redo log和undo log)详解] ( ./database/mysql/mysql-logs.md )
197+ - [ MySQL 索引详解 ] ( ./database/mysql/mysql-index.md )
198+ - [ MySQL 事务隔离级别图文详解 )] ( ./database/mysql/transaction-isolation-level.md )
199+ - [ MySQL 三大日志 (binlog、redo log 和 undo log)详解] ( ./database/mysql/mysql-logs.md )
213200- [ InnoDB 存储引擎对 MVCC 的实现] ( ./database/mysql/innodb-implementation-of-mvcc.md )
214201- [ SQL 语句在 MySQL 中的执行过程] ( ./database/mysql/how-sql-executed-in-mysql.md )
215202- [ MySQL 查询缓存详解] ( ./database/mysql/mysql-query-cache.md )
216- - [ MySQL执行计划分析 ] ( ./database/mysql/mysql-query-execution-plan.md )
217- - [ MySQL自增主键一定是连续的吗 ] ( ./database/mysql/mysql-auto-increment-primary-key-continuous.md )
203+ - [ MySQL 执行计划分析 ] ( ./database/mysql/mysql-query-execution-plan.md )
204+ - [ MySQL 自增主键一定是连续的吗 ] ( ./database/mysql/mysql-auto-increment-primary-key-continuous.md )
218205- [ MySQL 时间类型数据存储建议] ( ./database/mysql/some-thoughts-on-database-storage-time.md )
219206- [ MySQL 隐式转换造成索引失效] ( ./database/mysql/index-invalidation-caused-by-implicit-conversion.md )
220207
@@ -227,7 +214,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
227214
228215** 重要知识点:**
229216
230- - [ 3种常用的缓存读写策略详解 ] ( ./database/redis/3-commonly-used-cache-read-and-write-strategies.md )
217+ - [ 3 种常用的缓存读写策略详解 ] ( ./database/redis/3-commonly-used-cache-read-and-write-strategies.md )
231218- [ Redis 5 种基本数据结构详解] ( ./database/redis/redis-data-structures-01.md )
232219- [ Redis 3 种特殊数据结构详解] ( ./database/redis/redis-data-structures-02.md )
233220- [ Redis 持久化机制详解] ( ./database/redis/redis-persistence.md )
@@ -242,7 +229,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
242229
243230## 搜索引擎
244231
245- [ Elasticsearch常见面试题总结 (付费)] ( ./database/elasticsearch/elasticsearch-questions-01.md )
232+ [ Elasticsearch 常见面试题总结 (付费)] ( ./database/elasticsearch/elasticsearch-questions-01.md )
246233
247234![ JavaGuide 官方公众号] ( https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png )
248235
@@ -258,13 +245,13 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
258245
259246### Docker
260247
261- * [ Docker 核心概念总结] ( ./tools/docker/docker-intro.md )
262- * [ Docker 实战] ( ./tools/docker/docker-in-action.md )
248+ - [ Docker 核心概念总结] ( ./tools/docker/docker-intro.md )
249+ - [ Docker 实战] ( ./tools/docker/docker-in-action.md )
263250
264251### Git
265252
266- * [ Git 核心概念总结] ( ./tools/git/git-intro.md )
267- * [ Github 实用小技巧总结] ( ./tools/git/github-tips.md )
253+ - [ Git 核心概念总结] ( ./tools/git/git-intro.md )
254+ - [ Github 实用小技巧总结] ( ./tools/git/github-tips.md )
268255
269256## 系统设计
270257
@@ -275,7 +262,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
275262
276263- [ RestFul API 简明教程] ( ./system-design/basis/RESTfulAPI.md )
277264- [ 软件工程简明教程简明教程] ( ./system-design/basis/software-engineering.md )
278- - [ 代码命名指南] ( ./system-design/basis/naming.md )
265+ - [ 代码命名指南] ( ./system-design/basis/naming.md )
279266- [ 代码重构指南] ( ./system-design/basis/refactoring.md )
280267- [ 单元测试指南] ( ./system-design/basis/unit-test.md )
281268
@@ -310,10 +297,9 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
310297- [ SSO 单点登录详解] ( ./system-design/security/sso-intro.md )
311298- [ 权限系统设计详解] ( ./system-design/security/design-of-authority-system.md )
312299
313-
314300#### 数据脱敏
315301
316- 数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。
302+ 数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 \ * 来代替。
317303
318304#### 敏感词过滤
319305
@@ -336,7 +322,6 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
336322- [ Raft 算法解读] ( ./distributed-system/theorem&algorithm&protocol/raft-algorithm.md )
337323- [ Gossip 协议详解] ( ./distributed-system/theorem&algorithm&protocol/gossip-protocl.md )
338324
339-
340325### API 网关
341326
342327[ API 网关详解] ( ./distributed-system/api-gateway.md )
@@ -359,8 +344,8 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
359344
360345### RPC
361346
362- * [ RPC 基础常见知识点&面试题总结] ( ./distributed-system/rpc/rpc-intro.md )
363- * [ Dubbo 常见知识点&面试题总结] ( ./distributed-system/rpc/dubbo.md )
347+ - [ RPC 基础常见知识点&面试题总结] ( ./distributed-system/rpc/rpc-intro.md )
348+ - [ Dubbo 常见知识点&面试题总结] ( ./distributed-system/rpc/dubbo.md )
364349
365350### ZooKeeper
366351
@@ -422,21 +407,19 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
422407
423408### 灾备设计和异地多活
424409
425- ** 灾备** = 容灾+备份。
410+ ** 灾备** = 容灾+备份。
426411
427- * ** 备份** : 将系统所产生的的所有重要数据多备份几份。
428- * ** 容灾** : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
412+ - ** 备份** : 将系统所产生的的所有重要数据多备份几份。
413+ - ** 容灾** : 在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。
429414
430415** 异地多活** 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。
431416
432417## Star 趋势
433418
434- ![ ] ( https://api.star-history.com/svg?repos=Snailclimb/JavaGuide&type=Date )
435-
419+ ![ Stars] ( https://api.star-history.com/svg?repos=Snailclimb/JavaGuide&type=Date )
436420
437421## 公众号
438422
439423如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号“** JavaGuide** ”。
440424
441425![ JavaGuide 官方公众号] ( https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png )
442-
0 commit comments