README.md 26.3 KB
Newer Older
S
SnailClimb 已提交
1 2
如果 Github 访问速度比较慢或者图片无法刷新出来的话,可以转移到[码云](https://gitee.com/SnailClimb/JavaGuide )查看,或者[在线阅读](https://snailclimb.gitee.io/javaguide )**如果你要提交 issue 或者 pr 的话请到 [Github](https://github.com/Snailclimb/JavaGuide) 提交。**

G
guide 已提交
3 4 5 6
《JavaGuide面试突击版》PDF版本+3本PDF Java 学习手册,在[公众号JavaGuide](#公众号)后台回复“面试突击”即可获取。

如要进群或者请教问题,请[联系我](#联系我) (备注来自Github。请直入问题,工作时间不回复)。

S
shuang.kou 已提交
7 8 9 10
> JavaGuide 的Star数量虽然比较多,但是它的价值和含金量一定是不能和 Dubbo、Nacos这些优秀的国产开源项目比的。希望国内可以出更多优秀的开源项目!
>
> 另外,希望大家对面试不要抱有侥幸的心理,打铁还需自身硬!  我希望这个文档是为你学习  Java 指明方向,而不是用来应付面试用的。加油!奥利给!

S
shuang.kou 已提交
11 12 13 14
**开始阅读之前必看**

1. [完结撒花!JavaGuide面试突击版来啦!](./docs/javaguide面试突击版.md)
2. [JavaGuide重大更新记录](./docs/update-history.md)
S
shuang.kou 已提交
15

S
SnailClimb 已提交
16
<p align="center">
S
SnailClimb 已提交
17 18 19
<a href="https://github.com/Snailclimb/JavaGuide" target="_blank">
	<img src="https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-3/logo - 副本.png" width=""/>
</a>
S
SnailClimb 已提交
20 21 22
</p>

<p align="center">
S
SnailClimb 已提交
23
  <a href="https://snailclimb.gitee.io/javaguide"><img src="https://img.shields.io/badge/阅读-read-brightgreen.svg" alt="阅读"></a>
S
SnailClimb 已提交
24
  <a href="#公众号"><img src="https://img.shields.io/badge/%E5%85%AC%E4%BC%97%E5%8F%B7-JavaGuide-lightgrey.svg" alt="公众号"></a>
S
SnailClimb 已提交
25
  <a href="#公众号"><img src="https://img.shields.io/badge/PDF-Java面试突击-important.svg" alt="公众号"></a>
S
SnailClimb 已提交
26
  <a href="#投稿"><img src="https://img.shields.io/badge/support-投稿-critical.svg" alt="投稿"></a>
K
Kou Shuang 已提交
27
  <a href="https://xiaozhuanlan.com/javainterview?rel=javaguide"><img src="https://img.shields.io/badge/Java-面试指南-important" alt="投稿"></a>
S
SnailClimb 已提交
28
</p>
S
SnailClimb 已提交
29

S
shuang.kou 已提交
30 31
<h3 align="center">Sponsor</h3>

S
shuang.kou 已提交
32 33 34 35 36
<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://mp.weixin.qq.com/s/li9_YXNVxan6Qgt3Q9FYqA">
G
guide 已提交
37
          <img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/wangyi.png" style="margin: 0 auto;width:450px" /></a>
S
shuang.kou 已提交
38
      </td>
G
guide 已提交
39
      <td align="center" valign="middle">
G
guide 已提交
40
        <a href="https://faxian.lagou.com/discover/05a25f7c41404735b01b7f2a61bcf833.html?ver=2&utm_campaign=gongzhonghaolyw&utm_medium=koushuang&utm_source=weixinlyw">
G
guide 已提交
41
          <img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/lagou-new.jpeg" style="margin: 0 auto;width:450px" /></a>   
G
guide 已提交
42
      </td>        
G
guide 已提交
43
    </tr>
S
shuang.kou 已提交
44 45 46
  </tbody>
</table>

S
shuang.kou 已提交
47

G
guide 已提交
48

G
guide 已提交
49

G
guide 已提交
50

S
SnailClimb 已提交
51 52
## 目录

S
SnailClimb 已提交
53 54 55 56 57
- [Java](#java)
    - [基础](#基础)
    - [容器](#容器)
    - [并发](#并发)
    - [JVM](#jvm)
58
    - [其他](#其他)
S
SnailClimb 已提交
59 60
- [网络](#网络)
- [操作系统](#操作系统)
61
    - [Linux](#linux)
S
shuang.kou 已提交
62
- **[数据结构与算法](#数据结构与算法)**
S
SnailClimb 已提交
63 64
    - [数据结构](#数据结构)
    - [算法](#算法)
S
SnailClimb 已提交
65
- [数据库](#数据库)
S
SnailClimb 已提交
66 67 68
    - [MySQL](#mysql)
    - [Redis](#redis)
- [系统设计](#系统设计)
S
shuang.kou 已提交
69
    - [必知](#必知)
70
    - [常用框架](#常用框架)
S
shuang.kou 已提交
71
        - [Spring](#springspringboot)
72 73 74 75
        - [SpringBoot](#springboot)
        - [MyBatis](#mybatis)
    - [认证授权(JWT、SSO)](#认证授权)
    - [分布式](#分布式)
76
        - [分布式搜索引擎](#分布式搜索引擎)
77 78 79
        - [RPC](#rpc)
        - [消息队列](#消息队列)
        - [API 网关](#api-网关)
S
shuang.kou 已提交
80 81 82
        - [分布式id](#分布式id)
        - [分布式限流](#分布式限流)
        - [分布式接口幂等性](#分布式接口幂等性)
83
        - [数据库扩展](#数据库扩展)
S
shuang.kou 已提交
84
        - [ZooKeeper](#zookeeper)
85
    - [大型网站架构](#大型网站架构)
86 87 88 89 90
        - [性能测试](#性能测试)
        - [高并发](#高并发)
        - [高可用](#高可用)
    - [微服务](#微服务)
        - [Spring Cloud](#spring-cloud)
S
shuang.kou 已提交
91
- [必会工具](#必会工具)
S
SnailClimb 已提交
92
    - [Git](#git)
93
    - [Docker](#docker)
S
shuang.kou 已提交
94 95
- [面试指南](#面试指南)
- [Java学习常见问题汇总](#java学习常见问题汇总)
K
Kou Shuang 已提交
96
- [资源](#资源)
S
shuang.kou 已提交
97
    - [Java程序员必备书单](#java程序员必备书单)
98
    - [实战项目推荐](#实战项目推荐)
S
SnailClimb 已提交
99 100
- [待办](#待办)
- [说明](#说明)
S
SnailClimb 已提交
101

S
SnailClimb 已提交
102
## Java
S
SnailClimb 已提交
103

S
SnailClimb 已提交
104
### 基础
S
SnailClimb 已提交
105

106 107
**基础知识系统总结:**

S
shuang.kou 已提交
108 109
1. **[Java 基础知识](docs/java/Java基础知识.md)**
2. **[Java 基础知识疑难点/易错点](docs/java/Java疑难点.md)**
S
shuang.kou 已提交
110
3. [【选看】J2EE 基础知识](docs/java/J2EE基础知识.md)
S
SnailClimb 已提交
111

112 113
**重要知识点详解:**

S
shuang.kou 已提交
114
1. [枚举](docs/java/basic/用好Java中的枚举真的没有那么简单.md) (很重要的一个数据结构,用好枚举真的没有那么简单!)
S
shuang.kou 已提交
115
2. [Java 常见关键字总结:final、static、this、super!](docs/java/basic/final,static,this,super.md)
S
shuang.kou 已提交
116
3. [什么是反射机制?反射机制的应用场景有哪些?](docs/java/basic/reflection.md)
117
4. [代理模式详解:静态代理+JDK/CGLIB 动态代理实战(动态代理和静态代理的区别?JDK动态代理 和 CGLIB 动态代理的区别?)](docs/java/basic/java-proxy.md)
118

S
shuang.kou 已提交
119 120 121
**其他:**

1. [JAD反编译](docs/java/JAD反编译tricks.md)
S
shuang.kou 已提交
122
2. [手把手教你定位常见Java性能问题](./docs/java/手把手教你定位常见Java性能问题.md)
S
shuang.kou 已提交
123

S
SnailClimb 已提交
124
### 容器
S
SnailClimb 已提交
125

S
shuang.kou 已提交
126
1. **[Java容器常见面试题/知识点总结](docs/java/collection/Java集合框架常见面试题.md)**
S
shuang.kou 已提交
127
2. 源码分析:[ArrayList 源码](docs/java/collection/ArrayList.md)[LinkedList 源码](docs/java/collection/LinkedList.md)[HashMap(JDK1.8)源码](docs/java/collection/HashMap.md)[ConcurrentHashMap源码](docs/java/collection/ConcurrentHashMap.md)  
S
SnailClimb 已提交
128

S
SnailClimb 已提交
129
### 并发
S
SnailClimb 已提交
130

S
shuang.kou 已提交
131 132
**[多线程学习指南](./docs/java/Multithread/多线程学习指南.md)**

S
shuang.kou 已提交
133 134
**面试题总结:**

S
shuang.kou 已提交
135 136
1. **[Java 并发基础常见面试题总结](docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md)**
2. **[Java 并发进阶常见面试题总结](docs/java/Multithread/JavaConcurrencyAdvancedCommonInterviewQuestions.md)**
S
shuang.kou 已提交
137

138
**面试常问知识点:**
S
shuang.kou 已提交
139

S
shuang.kou 已提交
140
1. [并发容器总结](docs/java/Multithread/并发容器总结.md)
141
2. **线程池**[Java线程池学习总结](./docs/java/Multithread/java线程池学习总结.md)[拿来即用的线程池最佳实践](./docs/java/Multithread/best-practice-of-threadpool.md)
S
shuang.kou 已提交
142
3. [乐观锁与悲观锁](docs/essential-content-for-interview/面试必备之乐观锁与悲观锁.md)
143
4. [万字图文深度解析 ThreadLocal](docs/java/Multithread/ThreadLocal.md)
144 145
5. [JUC 中的 Atomic 原子类总结](docs/java/Multithread/Atomic.md)
6. [AQS 原理以及 AQS 同步组件总结](docs/java/Multithread/AQS.md)
S
SnailClimb 已提交
146

S
SnailClimb 已提交
147
### JVM
S
SnailClimb 已提交
148

S
shuang.kou 已提交
149 150 151 152 153 154 155 156 157
1. **[Java内存区域](docs/java/jvm/Java内存区域.md)**
2. **[JVM垃圾回收](docs/java/jvm/JVM垃圾回收.md)**
3. [JDK 监控和故障处理工具](docs/java/jvm/JDK监控和故障处理工具总结.md)
4. [类文件结构](docs/java/jvm/类文件结构.md)
5. **[类加载过程](docs/java/jvm/类加载过程.md)**
6. [类加载器](docs/java/jvm/类加载器.md)
7. **[【待完成】最重要的 JVM 参数指南(翻译完善了一半)](docs/java/jvm/最重要的JVM参数指南.md)**
8. [JVM 配置常用参数和常用 GC 调优策略](docs/java/jvm/GC调优参数.md)
9. **[【加餐】大白话带你认识JVM](docs/java/jvm/[加餐]大白话带你认识JVM.md)**
S
SnailClimb 已提交
158

S
shuang.kou 已提交
159
### 其他
S
SnailClimb 已提交
160

S
shuang.kou 已提交
161 162
1. **I/O**[BIO,NIO,AIO 总结 ](docs/java/BIO-NIO-AIO.md)
2. **Java 8**[Java 8 新特性总结](docs/java/What's%20New%20in%20JDK8/Java8Tutorial.md)[Java 8 学习资源推荐](docs/java/What's%20New%20in%20JDK8/Java8教程推荐.md)[Java8 forEach 指南](docs/java/What's%20New%20in%20JDK8/Java8foreach指南.md)
S
shuang.kou 已提交
163 164 165
3. **Java9~Java14** : [一文带你看遍JDK9~14的重要新特性!](./docs/java/jdk-new-features/new-features-from-jdk8-to-jdk14.md)
4. Java编程规范:**[Java 编程规范以及优雅 Java 代码实践总结](docs/java/Java编程规范.md)**[告别编码5分钟,命名2小时!史上最全的Java命名规范参考!](docs/java/java-naming-conventions.md)
5. 设计模式 :[设计模式系列文章](docs/system-design/设计模式.md)
S
SnailClimb 已提交
166

S
SnailClimb 已提交
167
## 网络
S
SnailClimb 已提交
168

169 170
1. [计算机网络常见面试题](docs/network/计算机网络.md)
2. [计算机网络基础知识总结](docs/network/干货:计算机网络知识总结.md)
S
SnailClimb 已提交
171

S
SnailClimb 已提交
172
## 操作系统
S
Snailclimb 已提交
173

S
shuang.kou 已提交
174
[最硬核的操作系统常见问题总结!](docs/operating-system/basis.md)
175 176

### Linux
S
SnailClimb 已提交
177

S
shuang.kou 已提交
178
* [后端程序员必备的 Linux 基础知识](docs/operating-system/linux.md)  
L
LKM 已提交
179
* [Shell 编程入门](docs/operating-system/Shell.md) 
S
shuang.kou 已提交
180
* [完全使用GNU_Linux学习](docs/operating-system/完全使用GNU_Linux学习.md)
S
shuang.kou 已提交
181
* [Linux 性能分析工具合集](docs/operating-system/Linux性能分析工具合集.md)
182

S
SnailClimb 已提交
183
## 数据结构与算法
S
Snailclimb 已提交
184

S
SnailClimb 已提交
185
### 数据结构
S
SnailClimb 已提交
186

S
Snailclimb 已提交
187
- [不了解布隆过滤器?一文给你整的明明白白!](docs/dataStructures-algorithms/data-structure/bloom-filter.md)
S
SnailClimb 已提交
188
- [数据结构知识学习与面试](docs/dataStructures-algorithms/数据结构.md)
S
SnailClimb 已提交
189

S
SnailClimb 已提交
190 191
### 算法

S
shuang.kou 已提交
192 193 194 195 196 197 198
- [硬核的算法学习书籍+资源推荐](docs/dataStructures-algorithms/算法学习资源推荐.md)  
- 常见算法问题总结:
  - [几道常见的字符串算法题总结 ](docs/dataStructures-algorithms/几道常见的子符串算法题.md)
  - [几道常见的链表算法题总结 ](docs/dataStructures-algorithms/几道常见的链表算法题.md)   
  - [剑指offer部分编程题](docs/dataStructures-algorithms/剑指offer部分编程题.md)
  - [公司真题](docs/dataStructures-algorithms/公司真题.md)
  - [回溯算法经典案例之N皇后问题](docs/dataStructures-algorithms/Backtracking-NQueens.md)
S
SnailClimb 已提交
199

S
SnailClimb 已提交
200
## 数据库
S
SnailClimb 已提交
201

S
SnailClimb 已提交
202
### MySQL
S
SnailClimb 已提交
203

204 205
**总结:**

S
shuang.kou 已提交
206 207 208 209
1. **[【推荐】MySQL/数据库 知识点总结](docs/database/MySQL.md)**
2. **[阿里巴巴开发手册数据库部分的一些最佳实践](docs/database/阿里巴巴开发手册数据库部分的一些最佳实践.md)**
3. **[一千行MySQL学习笔记](docs/database/一千行MySQL命令.md)**
4. [MySQL高性能优化规范建议](docs/database/MySQL高性能优化规范建议.md)
210 211 212 213 214 215 216

**重要知识点:**

1. [数据库索引总结1](docs/database/MySQL%20Index.md)[数据库索引总结2](docs/database/数据库索引.md)
2. [事务隔离级别(图文详解)](docs/database/事务隔离级别(图文详解).md)
3. [一条SQL语句在MySQL中如何执行的](docs/database/一条sql语句在mysql中如何执行的.md)
4. **[关于数据库中如何存储时间的一点思考](docs/database/关于数据库存储时间的一点思考.md)**
S
SnailClimb 已提交
217

S
SnailClimb 已提交
218
### Redis
S
SnailClimb 已提交
219

G
guide 已提交
220
* [关于缓存的一些重要概念(Redis前置菜)](docs/database/Redis/some-concepts-of-caching.md)
S
shuang.kou 已提交
221
* [Redis 常见问题总结](docs/database/Redis/redis-all.md)
222
* **Redis 系列文章合集:**
G
guide 已提交
223 224
  1. 数据结构和算法 :[5种基本数据结构](docs/database/Redis/redis-collection/Redis(1)——5种基本数据结构.md)、[跳跃表](docs/database/Redis/redis-collection/Redis(2)——跳跃表.md)、[神奇的HyperLoglog解决统计问题](docs/database/Redis/redis-collection/Reids(4)——神奇的HyperLoglog解决统计问题.md)、[亿级数据过滤和布隆过滤器](docs/database/Redis/redis-collection/Redis(5)——亿级数据过滤和布隆过滤器.md)、[GeoHash查找附近的人](docs/database/Redis/redis-collection/Redis(6)——GeoHash查找附近的人.md)
  3. Redis锁:[分布式锁深入探究](docs/database/Redis/redis-collection/Redis(3)——分布式锁深入探究.md) 、 [Redlock分布式锁](docs/database/Redis/Redlock分布式锁.md)[如何做可靠的分布式锁,Redlock真的可行么](docs/database/Redis/如何做可靠的分布式锁,Redlock真的可行么.md)
S
shuang.kou 已提交
225 226 227
  7. [持久化](docs/database/Redis/redis-collection/Redis(7)——持久化.md)
  8. [发布订阅与Stream](docs/database/Redis/redis-collection/Redis(8)——发布订阅与Stream.md)
  9. [史上最强【集群】入门实践教程](docs/database/Redis/redis-collection/Redis(9)——集群入门实践教程.md)
F
fupingstar 已提交
228
  10. [Redis数据类型、编码、底层数据结构的关系看这篇](docs/database/Redis/redis-collection/Redis(10)——Redis数据类型、编码、数据结构的关系.md)
S
SnailClimb 已提交
229

S
SnailClimb 已提交
230
## 系统设计
S
SnailClimb 已提交
231

S
shuang.kou 已提交
232 233
### 必知

S
shuang.kou 已提交
234
1. **[RestFul API 简明教程](docs/system-design/restful-api.md)**
S
shuang.kou 已提交
235
2. **[因为命名被diss无数次。Guide简单聊聊编程最头疼的事情之一:命名](docs/system-design/naming.md)**
S
shuang.kou 已提交
236

S
SnailClimb 已提交
237 238
### 常用框架

S
shuang.kou 已提交
239
#### Spring/SpringBoot
S
SnailClimb 已提交
240

241 242
1. **[Spring 常见问题总结](docs/system-design/framework/spring/SpringInterviewQuestions.md)**
3. **[SpringBoot 指南/常见面试题总结](https://github.com/Snailclimb/springboot-guide)**
S
shuang.kou 已提交
243 244
3. **[Spring/Spring常用注解总结!安排!](./docs/system-design/framework/spring/spring-annotations.md)**
4. **[Spring事务总结](docs/system-design/framework/spring/spring-transaction.md)**
S
shuang.kou 已提交
245 246 247 248
5. [Spring IoC 和 AOP详解](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486938&idx=1&sn=c99ef0233f39a5ffc1b98c81e02dfcd4&chksm=cea24211f9d5cb07fa901183ba4d96187820713a72387788408040822ffb2ed575d28e953ce7&token=1666190828&lang=zh_CN#rd)
6. [Spring中 Bean 的作用域与生命周期](docs/system-design/framework/spring/SpringBean.md)
7. [SpringMVC 工作原理详解](docs/system-design/framework/spring/SpringMVC-Principle.md)
8. [Spring中都用到了那些设计模式?](docs/system-design/framework/spring/Spring-Design-Patterns.md)
S
SnailClimb 已提交
249

S
shuang.kou 已提交
250 251 252 253
#### MyBatis

- [MyBatis常见面试题总结](docs/system-design/framework/mybatis/mybatis-interview.md)

254 255 256 257 258 259 260 261 262 263 264
### 认证授权

**[认证授权基础:搞清Authentication,Authorization以及Cookie、Session、Token、OAuth 2、SSO](docs/system-design/authority-certification/basis-of-authority-certification.md)**

#### JWT

- **[JWT 优缺点分析以及常见问题解决方案](docs/system-design/authority-certification/JWT-advantages-and-disadvantages.md)**
- **[适合初学者入门 Spring Security With JWT 的 Demo](https://github.com/Snailclimb/spring-security-jwt-guide)**

#### SSO(单点登录)

S
shuang.kou 已提交
265
SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。相关阅读:**[SSO 单点登录看这篇就够了!](docs/system-design/authority-certification/sso.md)**
266 267

### 分布式
K
Kou Shuang 已提交
268

269 270
[分布式相关概念入门](docs/system-design/website-architecture/分布式.md)

271
#### 分布式搜索引擎
272 273 274

提高搜索效率。常见于电商购物网站的商品搜索于分类。

275 276 277
比较常用的是 Elasticsearch 和 Solr。

代办。
K
Kou Shuang 已提交
278

K
Kou Shuang 已提交
279
#### RPC
K
Kou Shuang 已提交
280

281 282
让调用远程服务调用像调用本地方法那样简单。

K
Kou Shuang 已提交
283
- [Dubbo 总结:关于 Dubbo 的重要知识点](docs/system-design/data-communication/dubbo.md)
K
Kou Shuang 已提交
284
- [服务之间的调用为啥不直接用 HTTP 而用 RPC?](docs/system-design/data-communication/why-use-rpc.md)
K
Kou Shuang 已提交
285

K
Kou Shuang 已提交
286
#### 消息队列
S
SnailClimb 已提交
287

G
typo  
guide 已提交
288
消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: **[消息队列总结](docs/system-design/data-communication/message-queue.md)**
S
shuang.kou 已提交
289 290 291

**RabbitMQ:**

S
shuang.kou 已提交
292
1. [RabbitMQ 入门](docs/system-design/data-communication/rabbitmq.md)
S
shuang.kou 已提交
293 294 295

**RocketMQ:**

S
shuang.kou 已提交
296 297
1. [RocketMQ 入门](docs/system-design/data-communication/RocketMQ.md)
2. [RocketMQ的几个简单问题与答案](docs/system-design/data-communication/RocketMQ-Questions.md)
S
shuang.kou 已提交
298 299 300

**Kafka:**

S
shuang.kou 已提交
301
1. **[Kafka 入门+SpringBoot整合Kafka系列](https://github.com/Snailclimb/springboot-kafka)**
S
shuang.kou 已提交
302
2. **[Kafka 常见面试题总结](docs/system-design/data-communication/kafka-inverview.md)**
S
shuang.kou 已提交
303
3. [【加餐】Kafka入门看这一篇就够了](docs/system-design/data-communication/Kafka入门看这一篇就够了.md)
S
SnailClimb 已提交
304

K
Kou Shuang 已提交
305
#### API 网关
K
Kou Shuang 已提交
306

K
Kou Shuang 已提交
307
网关主要用于请求转发、安全认证、协议转换、容灾。
K
Kou Shuang 已提交
308

S
shuang.kou 已提交
309 310 311 312 313 314 315 316
1. [为什么要网关?你知道有哪些常见的网关系统?](docs/system-design/micro-service/api-gateway-intro.md)
2. [如何设计一个亿级网关(API Gateway)?](docs/system-design/micro-service/API网关.md)

#### 分布式id

1. [为什么要分布式 id ?分布式 id 生成方案有哪些?](docs/system-design/micro-service/分布式id生成方案总结.md)

#### 分布式限流
K
Kou Shuang 已提交
317

S
shuang.kou 已提交
318
1. [限流算法有哪些?](docs/system-design/micro-service/limit-request.md)
K
Kou Shuang 已提交
319

S
shuang.kou 已提交
320
#### 分布式接口幂等性
K
Kou Shuang 已提交
321

322
#### ZooKeeper
S
shuang.kou 已提交
323 324 325

> 前两篇文章可能有内容重合部分,推荐都看一遍。

326 327 328
1. [【入门】ZooKeeper 相关概念总结 01](docs/system-design/framework/zookeeper-intro.md)
2. [【进阶】ZooKeeper 相关概念总结 02](docs/system-design/framework/zookeeper-plus.md)
3. [【实战】ZooKeeper 实战](docs/system-design/framework/zookeeper-in-action.md)
K
Kou Shuang 已提交
329

S
shuang.kou 已提交
330 331 332 333
#### 其他

- 接口幂等性(代办):分布式系统必须要考虑接口的幂等性。

334 335 336 337 338 339
#### 数据库扩展

读写分离、分库分表。

代办.....

340
### 大型网站架构
S
SnailClimb 已提交
341

S
SnailClimb 已提交
342
- [8 张图读懂大型网站技术架构](docs/system-design/website-architecture/8%20张图读懂大型网站技术架构.md)
S
shuang.kou 已提交
343
- [关于大型网站系统架构你不得不懂的10个问题](docs/system-design/website-architecture/关于大型网站系统架构你不得不懂的10个问题.md)
S
SnailClimb 已提交
344

345 346 347 348 349 350
#### 性能测试

- [后端程序员也要懂的性能测试知识](https://articles.zsxq.com/id_lwl39teglv3d.html) (知识星球)

#### 高并发

351 352
待办......

353 354
#### 高可用

S
shuang.kou 已提交
355
高可用描述的是一个系统在大部分时间都是可用的,可以为我们提供服务的。高可用代表系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的 。相关阅读: **《[如何设计一个高可用系统?要考虑哪些地方?](docs/system-design/website-architecture/如何设计一个高可用系统?要考虑哪些地方?.md)》**
356

357
### 微服务
K
Kou Shuang 已提交
358

359 360 361 362
#### Spring Cloud

- [ 大白话入门 Spring Cloud](docs/system-design/micro-service/spring-cloud.md)

S
shuang.kou 已提交
363 364 365 366 367 368 369 370 371 372 373 374 375
## 必会工具

### Git

* [Git入门](docs/tools/Git.md)

### Docker

1. [Docker 基本概念解读](docs/tools/Docker.md)
2. [一文搞懂 Docker 镜像的常用操作!](docs/tools/Docker-Image.md )

### 其他

S
shuang.kou 已提交
376
- [【原创】如何使用云服务器?希望这篇文章能够对你有帮助!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485738&idx=1&sn=f97e91a50e444944076c30b0717b303a&chksm=cea246e1f9d5cff73faf6a778b147ea85162d1f3ed55ca90473c6ebae1e2c4d13e89282aeb24&token=406194678&lang=zh_CN#rd)
S
shuang.kou 已提交
377

S
SnailClimb 已提交
378 379
## 面试指南

380 381
> 这部分很多内容比如大厂面经、真实面经分析被移除,详见[完结撒花!JavaGuide面试突击版来啦!](./docs/javaguide面试突击版.md)。

S
shuang.kou 已提交
382 383 384 385 386 387 388
1. **[【备战面试1】程序员的简历就该这样写](docs/essential-content-for-interview/PreparingForInterview/程序员的简历之道.md)**
2. **[【备战面试2】初出茅庐的程序员该如何准备面试?](docs/essential-content-for-interview/PreparingForInterview/interviewPrepare.md)**
3. **[【备战面试3】7个大部分程序员在面试前很关心的问题](docs/essential-content-for-interview/PreparingForInterview/JavaProgrammerNeedKnow.md)**
4. **[【备战面试4】Github上开源的Java面试/学习相关的仓库推荐](docs/essential-content-for-interview/PreparingForInterview/JavaInterviewLibrary.md)**
5. **[【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答](docs/essential-content-for-interview/PreparingForInterview/面试官-你有什么问题要问我.md)**
6. [【备战面试6】应届生面试最爱问的几道 Java 基础问题](docs/essential-content-for-interview/PreparingForInterview/应届生面试最爱问的几道Java基础问题.md)
7. **[【备战面试6】美团面试常见问题总结(附详解答案)](docs/essential-content-for-interview/PreparingForInterview/美团面试常见问题总结.md)**
S
SnailClimb 已提交
389

K
Kou Shuang 已提交
390 391
## Java学习常见问题汇总

S
shuang.kou 已提交
392 393 394
1. [Java学习路线和方法推荐](docs/questions/java-learning-path-and-methods.md)
2. [Java培训四个月能学会吗?](docs/questions/java-training-4-month.md)
3. [新手学习Java,有哪些Java相关的博客,专栏,和技术学习网站推荐?](docs/questions/java-learning-website-blog.md)
G
guide 已提交
395
4. [Java 还是大数据,你需要了解这些东西!](docs/questions/java-big-data.md)
K
Kou Shuang 已提交
396

K
Kou Shuang 已提交
397
## 资源
S
SnailClimb 已提交
398

S
shuang.kou 已提交
399
### Java程序员必备书单
S
SnailClimb 已提交
400

S
shuang.kou 已提交
401
1. [「基础篇」Guide的Java后端书架来啦!都是Java程序员必看的书籍?](./docs/books/java基础篇.md)
S
SnailClimb 已提交
402

K
Kou Shuang 已提交
403 404
### 实战项目推荐

S
shuang.kou 已提交
405
- **[Java、SpringBoot实战项目推荐](https://github.com/Snailclimb/awesome-java#实战项目)**
K
Kou Shuang 已提交
406

407
### Github
S
SnailClimb 已提交
408

S
shuang.kou 已提交
409
- [Github 上非常棒的 Java 开源项目集合](https://github.com/Snailclimb/awesome-java) 
410
- [Github 上 Star 数最多的 10 个项目,看完之后很意外!](docs/tools/github/github-star-ranking.md)
S
Snailclimb 已提交
411
- [年末将至,值得你关注的16个Java 开源项目!](docs/github-trending/2019-12.md)
S
shuang.kou 已提交
412
- [Java 项目历史月榜单](docs/github-trending/JavaGithubTrending.md)
S
SnailClimb 已提交
413

S
SnailClimb 已提交
414 415
***

S
SnailClimb 已提交
416
## 待办
S
SnailClimb 已提交
417

G
guide 已提交
418
- [x] Netty 总结
S
SnailClimb 已提交
419
- [ ] 数据结构总结重构(---正在进行中---)
S
SnailClimb 已提交
420

S
SnailClimb 已提交
421
## 说明
S
SnailClimb 已提交
422

S
shuang.kou 已提交
423 424
开源项目在于大家的参与,这才使得它的价值得到提升。感谢🙏有你!

K
Kou Shuang 已提交
425
### JavaGuide介绍
S
SnailClimb 已提交
426

427 428
开源 JavaGuide 初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。

S
SnailClimb 已提交
429 430 431
*  **对于 Java 初学者来说:** 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章
也是你学习和复习 Java 知识不错的实践;
*  **对于非 Java 初学者来说:** 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。
S
SnailClimb 已提交
432

S
SnailClimb 已提交
433 434
Markdown 格式参考:[Github Markdown格式](https://guides.github.com/features/mastering-markdown/),表情素材来自:[EMOJI CHEAT SHEET](https://www.webpagefx.com/tools/emoji-cheat-sheet/)

S
shuang.kou 已提交
435
利用 docsify 生成文档部署在 Github pages: [docsify 官网介绍](https://docsify.js.org/#/) ,另见[《Guide哥手把手教你搭建一个文档类型的网站!免费且高速!》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486555&idx=2&sn=8486026ee9f9ba645ff0363df6036184&chksm=cea24390f9d5ca86ff4177c0aca5e719de17dc89e918212513ee661dd56f17ca8269f4a6e303&token=298703358&lang=zh_CN#rd)
S
SnailClimb 已提交
436

S
shuang.kou 已提交
437 438
Logo下的小图标是使用[Shields.IO](https://shields.io/) 生成的。

S
SnailClimb 已提交
439 440
### 关于转载

S
SnailClimb 已提交
441
如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。
S
SnailClimb 已提交
442 443 444 445

### 如何对该开源文档进行贡献

1. 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。
S
SnailClimb 已提交
446
2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。
Z
zhangsupei 已提交
447
3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。
S
SnailClimb 已提交
448

G
guide 已提交
449 450
> 如果要提 issue/question 的话,强烈推荐阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)、[《如何向开源社区提问题》](https://github.com/seajs/seajs/issues/545) 和 [《如何有效地报告 Bug》](http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html)、[《如何向开源项目提交无法解答的问题》](https://zhuanlan.zhihu.com/p/25795393)。

S
SnailClimb 已提交
451
### 联系我
S
SnailClimb 已提交
452

G
guide 已提交
453
![个人微信](https://cdn.jsdelivr.net/gh/javaguide-tech/blog-images/2020-08/wechat3.jpeg)
S
SnailClimb 已提交
454

S
SnailClimb 已提交
455
### Contributor
S
SnailClimb 已提交
456

S
SnailClimb 已提交
457 458
下面是笔主收集的一些对本仓库提过有价值的pr或者issue的朋友,人数较多,如果你也对本仓库提过不错的pr或者issue的话,你可以加我的微信与我联系。下面的排名不分先后!

S
Snailclimb 已提交
459 460 461
<a href="https://github.com/LiWenGu">
    <img src="https://avatars0.githubusercontent.com/u/15909210?s=460&v=4" width="45px">
</a>
S
shuang.kou 已提交
462 463 464
<a href="https://github.com/fanofxiaofeng">
    <img src="https://avatars0.githubusercontent.com/u/3983683?s=460&v=4" width="45px">
</a>
S
SnailClimb 已提交
465 466 467
<a href="https://github.com/fanchenggang">  
    <img src="https://avatars2.githubusercontent.com/u/8225921?s=460&v=4" width="45px">
</a>
K
Kou Shuang 已提交
468 469 470 471
<a href="https://github.com/Rustin-Liu">  
    <img src="https://avatars2.githubusercontent.com/u/29879298?s=400&v=4" width="45px">
</a>

S
SnailClimb 已提交
472
<a href="https://github.com/ipofss">
S
SnailClimb 已提交
473
    <img src="https://avatars1.githubusercontent.com/u/5917359?s=460&v=4" width="45px"></a>
S
SnailClimb 已提交
474
<a href="https://github.com/Gene1994">
S
SnailClimb 已提交
475
    <img src="https://avatars3.githubusercontent.com/u/24930369?s=460&v=4" width="45px">
S
SnailClimb 已提交
476
</a>
S
SnailClimb 已提交
477 478
<a href="https://github.com/spikesp">
    <img src="https://avatars0.githubusercontent.com/u/12581996?s=460&v=4" width="45px"></a>
S
SnailClimb 已提交
479
<a href="https://github.com/illusorycloud">
S
SnailClimb 已提交
480
    <img src="https://avatars3.githubusercontent.com/u/31980412?s=460&v=4" width="45px">
S
SnailClimb 已提交
481 482
</a>
<a href="https://github.com/kinglaw1204">
S
SnailClimb 已提交
483
    <img src="https://avatars1.githubusercontent.com/u/20039931?s=460&v=4" width="45px">
S
SnailClimb 已提交
484 485
</a>
<a href="https://github.com/jun1st">
S
SnailClimb 已提交
486
    <img src="https://avatars2.githubusercontent.com/u/14312378?s=460&v=4" width="45px">
S
SnailClimb 已提交
487 488
</a>"
<a href="https://github.com/fantasygg">  
S
SnailClimb 已提交
489 490 491 492 493 494 495
    <img src="https://avatars3.githubusercontent.com/u/13445354?s=460&v=4" width="45px">
</a>
<a href="https://github.com/debugjoker">  
    <img src="https://avatars3.githubusercontent.com/u/26218005?s=460&v=4" width="45px">
</a>
<a href="https://github.com/zhyank">  
    <img src="https://avatars0.githubusercontent.com/u/17696240?s=460&v=4" width="45px">
S
SnailClimb 已提交
496
</a>
S
SnailClimb 已提交
497 498 499
<a href="https://github.com/Goose9527">  
    <img src="https://avatars2.githubusercontent.com/u/43314997?s=460&v=4" width="45px">
</a>
S
SnailClimb 已提交
500 501 502
<a href="https://github.com/yuechuanx">  
    <img src="https://avatars3.githubusercontent.com/u/19339293?s=460&v=4" width="45px">
</a>
S
SnailClimb 已提交
503 504 505
<a href="https://github.com/cnLGMing">  
    <img src="https://avatars2.githubusercontent.com/u/15910705?s=460&v=4" width="45px">
</a>
S
SnailClimb 已提交
506 507 508
<a href="https://github.com/fanchenggang">  
    <img src="https://avatars0.githubusercontent.com/u/20358122?s=460&v=4" width="45px">
</a>
S
SnailClimb 已提交
509

S
SnailClimb 已提交
510 511
### 公众号

S
SnailClimb 已提交
512
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。
S
SnailClimb 已提交
513

S
SnailClimb 已提交
514 515
**《Java面试突击》:** 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本[公众号](#公众号)后台回复 **"Java面试突击"** 即可免费领取!

S
SnailClimb 已提交
516
**Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。 
S
SnailClimb 已提交
517

G
guide 已提交
518
![我的公众号](https://cdn.jsdelivr.net/gh/javaguide-tech/blog-images/2020-08/167598cd2e17b8ec.png)
519 520