@@ -36,43 +36,61 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
36
36
- [ 容器] ( #容器 )
37
37
- [ 并发] ( #并发 )
38
38
- [ JVM] ( #jvm )
39
- - [ 其他(IO/Java8/编码规范) ] ( #其他 )
39
+ - [ 其他] ( #其他 )
40
40
- [ 网络] ( #网络 )
41
41
- [ 操作系统] ( #操作系统 )
42
- - [ Linux相关 ] ( #linux相关 )
42
+ - [ Linux ] ( #linux )
43
43
- [ 数据结构与算法] ( #数据结构与算法 )
44
44
- [ 数据结构] ( #数据结构 )
45
45
- [ 算法] ( #算法 )
46
46
- [ 数据库] ( #数据库 )
47
47
- [ MySQL] ( #mysql )
48
48
- [ Redis] ( #redis )
49
- - [ 数据库扩展] ( #数据库扩展 )
50
49
- [ 系统设计] ( #系统设计 )
51
- - [ 常用框架(Spring,SpringBoot,MyBatis)] ( #常用框架 )
52
- - [ 数据通信/中间件(消息队列、RPC ... )] ( #数据通信中间件 )
53
- - [ 权限认证] ( #权限认证 )
54
- - [ 分布式 & 微服务] ( #分布式--微服务 )
55
- - [ API 网关] ( #api-网关 )
56
- - [ 配置中心] ( #配置中心 )
57
- - [ 唯一 id 生成] ( #唯一-id-生成 )
58
- - [ 服务治理:服务注册与发现、服务路由控制] ( #服务治理服务注册与发现服务路由控制 )
50
+ - [ 常用框架] ( #常用框架 )
51
+ - [ Spring] ( #spring )
52
+ - [ SpringBoot] ( #springboot )
53
+ - [ MyBatis] ( #mybatis )
54
+ - [ 认证授权(JWT、SSO)] ( #认证授权 )
55
+ - [ 分布式] ( #分布式 )
56
+ - [ SSO(单点登录)] ( #sso单点登录 )
57
+ - [ Elasticsearch(分布式搜索引擎)] ( #elasticsearch分布式搜索引擎 )
58
+ - [ RPC] ( #rpc )
59
+ - [ 消息队列] ( #消息队列 )
60
+ - [ API 网关] ( #api-网关 )
61
+ - [ 唯一 id 生成] ( #唯一-id-生成 )
62
+ - [ ZooKeeper] ( #zookeeper )
63
+ - [ 数据库扩展] ( #数据库扩展 )
59
64
- [ 大型网站架构] ( #大型网站架构 )
60
- - [ 性能测试] ( #性能测试 )
61
- - [ 高并发] ( #高并发 )
62
- - [ 高可用] ( #高可用 )
63
- - [ 设计模式(工厂模式、单例模式 ... )] ( #设计模式 )
65
+ - [ 性能测试] ( #性能测试 )
66
+ - [ 高并发] ( #高并发 )
67
+ - [ 高可用] ( #高可用 )
68
+ - [ 微服务] ( #微服务 )
69
+ - [ Spring Cloud] ( #spring-cloud )
70
+ - [ 配置中心] ( #配置中心 )
64
71
- [ 面试指南] ( #面试指南 )
65
72
- [ 备战面试] ( #备战面试 )
73
+ - [ 真实面试经历分析] ( #真实面试经历分析 )
66
74
- [ 面经] ( #面经 )
67
75
- [ Java学习常见问题汇总] ( #java学习常见问题汇总 )
68
76
- [ 工具] ( #工具 )
69
77
- [ Git] ( #git )
70
- - [ Docker] ( #Docker )
78
+ - [ Docker] ( #docker )
79
+ - [ 其他] ( #其他-1 )
71
80
- [ 资源] ( #资源 )
72
81
- [ 书单] ( #书单 )
73
- - [ Github榜单] ( #Github榜单 )
82
+ - [ 实战项目推荐] ( #实战项目推荐 )
83
+ - [ Github] ( #github )
74
84
- [ 待办] ( #待办 )
75
85
- [ 说明] ( #说明 )
86
+ - [ JavaGuide介绍] ( #javaguide介绍 )
87
+ - [ 作者的其他开源项目推荐] ( #作者的其他开源项目推荐 )
88
+ - [ 关于转载] ( #关于转载 )
89
+ - [ 如何对该开源文档进行贡献] ( #如何对该开源文档进行贡献 )
90
+ - [ 为什么要做这个开源文档?] ( #为什么要做这个开源文档 )
91
+ - [ 投稿] ( #投稿 )
92
+ - [ 联系我] ( #联系我 )
93
+ - [ 公众号] ( #公众号 )
76
94
77
95
## Java
78
96
@@ -128,16 +146,19 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
128
146
1 . ** I/O** :[ BIO,NIO,AIO 总结 ] ( docs/java/BIO-NIO-AIO.md )
129
147
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 )
130
148
3 . ** [ Java 编程规范以及优雅 Java 代码实践总结] ( docs/java/Java编程规范.md ) **
149
+ 4 . 设计模式 :[ 设计模式系列文章] ( docs/system-design/设计模式.md )
131
150
132
151
## 网络
133
152
134
- * [ 计算机网络常见面试题] ( docs/network/计算机网络.md )
135
- * [ 计算机网络基础知识总结] ( docs/network/干货:计算机网络知识总结.md )
136
- * [ HTTPS中的TLS] ( docs/network/HTTPS中的TLS.md )
153
+ 1 . [ 计算机网络常见面试题] ( docs/network/计算机网络.md )
154
+ 2 . [ 计算机网络基础知识总结] ( docs/network/干货:计算机网络知识总结.md )
155
+ 3 . [ HTTPS中的TLS] ( docs/network/HTTPS中的TLS.md )
137
156
138
157
## 操作系统
139
158
140
- ### Linux相关
159
+ 操作系统相关概念总结
160
+
161
+ ### Linux
141
162
142
163
* [ 后端程序员必备的 Linux 基础知识] ( docs/operating-system/后端程序员必备的Linux基础知识.md )
143
164
* [ Shell 编程入门] ( docs/operating-system/Shell.md )
@@ -177,10 +198,6 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
177
198
* [ 如何做可靠的分布式锁,Redlock真的可行么] ( docs/database/Redis/如何做可靠的分布式锁,Redlock真的可行么.md )
178
199
* [ 几种常见的 Redis 集群以及使用场景] ( docs/database/Redis/redis集群以及应用场景.md )
179
200
180
- ### 数据库扩展
181
-
182
- 待办......
183
-
184
201
## 系统设计
185
202
186
203
### 常用框架
@@ -201,17 +218,42 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
201
218
202
219
- [ MyBatis常见面试题总结] ( docs/system-design/framework/mybatis/mybatis-interview.md )
203
220
204
- ### 数据通信/中间件
221
+ ### 认证授权
222
+
223
+ ** [ 认证授权基础:搞清Authentication,Authorization以及Cookie、Session、Token、OAuth 2、SSO] ( docs/system-design/authority-certification/basis-of-authority-certification.md ) **
224
+
225
+ #### JWT
226
+
227
+ - ** [ JWT 优缺点分析以及常见问题解决方案] ( docs/system-design/authority-certification/JWT-advantages-and-disadvantages.md ) **
228
+ - ** [ 适合初学者入门 Spring Security With JWT 的 Demo] ( https://github.com/Snailclimb/spring-security-jwt-guide ) **
229
+
230
+ #### SSO(单点登录)
231
+
232
+ SSO(Single Sign On)即单点登录说的是用户登陆多个子系统的其中一个就有权访问与其相关的其他系统。举个例子我们在登陆了京东金融之后,我们同时也成功登陆京东的京东超市、京东家电等子系统。
233
+
234
+ 相关阅读:[ SSO 单点登录看这篇就够了!] ( docs/system-design/authority-certification/sso.md )
235
+
236
+ ### 分布式
205
237
206
- - [ 数据通信(RESTful、RPC、消息队列)相关知识点总结] ( docs/system-design/data-communication/summary.md )
238
+ [ 分布式相关概念入门] ( docs/system-design/website-architecture/分布式.md )
239
+
240
+ #### Elasticsearch(分布式搜索引擎)
241
+
242
+ 提高搜索效率。常见于电商购物网站的商品搜索于分类。
243
+
244
+ 代办......
207
245
208
246
#### RPC
209
247
248
+ 让调用远程服务调用像调用本地方法那样简单。
249
+
210
250
- [ Dubbo 总结:关于 Dubbo 的重要知识点] ( docs/system-design/data-communication/dubbo.md )
211
251
- [ 服务之间的调用为啥不直接用 HTTP 而用 RPC?] ( docs/system-design/data-communication/why-use-rpc.md )
212
252
213
253
#### 消息队列
214
254
255
+ 消息队列在分布式系统中主要是为了接耦和削峰。
256
+
215
257
- [ 消息队列总结] ( docs/system-design/data-communication/message-queue.md )
216
258
217
259
** RabbitMQ:**
@@ -229,44 +271,30 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
229
271
- [ Kafka系统设计开篇-面试看这篇就够了] ( docs/system-design/data-communication/Kafka系统设计开篇-面试看这篇就够了.md )
230
272
- [ 【加餐】Kafka入门看这一篇就够了] ( docs/system-design/data-communication/Kafka入门看这一篇就够了.md )
231
273
232
- ### 权限认证
233
-
234
- - ** [ 权限认证基础:区分Authentication,Authorization以及Cookie、Session、Token] ( docs/system-design/authority-certification/basis-of-authority-certification.md ) **
235
- - ** [ JWT 优缺点分析以及常见问题解决方案] ( docs/system-design/authority-certification/JWT-advantages-and-disadvantages.md ) **
236
- - ** [ 适合初学者入门 Spring Security With JWT 的 Demo] ( https://github.com/Snailclimb/spring-security-jwt-guide ) **
237
-
238
- ### 分布式 & 微服务
239
-
240
- - [ 分布式应该学什么] ( docs/system-design/website-architecture/分布式.md )
241
-
242
- #### Spring Cloud
243
-
244
- - [ 大白话入门 Spring Cloud] ( docs/system-design/micro-service/spring-cloud.md )
245
-
246
274
#### API 网关
247
275
248
276
网关主要用于请求转发、安全认证、协议转换、容灾。
249
277
250
278
- [ 浅析如何设计一个亿级网关(API Gateway)] ( docs/system-design/micro-service/API网关.md )
251
279
252
- #### 配置中心
253
-
254
- 待办......
255
-
256
280
#### 唯一 id 生成
257
281
258
282
- [ 分布式id生成方案总结] ( docs/system-design/micro-service/分布式id生成方案总结.md )
259
283
260
- #### 服务治理:服务注册与发现、服务路由控制
261
-
262
- ** ZooKeeper:**
284
+ #### ZooKeeper
263
285
264
286
> 前两篇文章可能有内容重合部分,推荐都看一遍。
265
287
266
288
- [ 【入门】ZooKeeper 相关概念总结] ( docs/system-design/framework/ZooKeeper.md )
267
289
- [ 【进阶】Zookeeper 原理简单入门!] ( docs/system-design/framework/ZooKeeper-plus.md )
268
290
- [ 【拓展】ZooKeeper 数据模型和常见命令] ( docs/system-design/framework/ZooKeeper数据模型和常见命令.md )
269
291
292
+ #### 数据库扩展
293
+
294
+ 读写分离、分库分表。
295
+
296
+ 代办.....
297
+
270
298
### 大型网站架构
271
299
272
300
- [ 8 张图读懂大型网站技术架构] ( docs/system-design/website-architecture/8%20张图读懂大型网站技术架构.md )
@@ -284,9 +312,15 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
284
312
285
313
- [ 如何设计一个高可用系统?要考虑哪些地方?] ( docs/system-design/website-architecture/如何设计一个高可用系统?要考虑哪些地方?.md )
286
314
287
- ### 设计模式
315
+ ### 微服务
288
316
289
- - [ 设计模式系列文章] ( docs/system-design/设计模式.md )
317
+ #### Spring Cloud
318
+
319
+ - [ 大白话入门 Spring Cloud] ( docs/system-design/micro-service/spring-cloud.md )
320
+
321
+ #### 配置中心
322
+
323
+ 待办......
290
324
291
325
## 面试指南
292
326
@@ -365,6 +399,8 @@ Github用户如果访问速度缓慢的话,可以转移到[码云](https://git
365
399
366
400
### JavaGuide介绍
367
401
402
+ 开源 JavaGuide 初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。
403
+
368
404
* ** 对于 Java 初学者来说:** 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章
369
405
也是你学习和复习 Java 知识不错的实践;
370
406
* ** 对于非 Java 初学者来说:** 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。
@@ -389,14 +425,6 @@ Markdown 格式参考:[Github Markdown格式](https://guides.github.com/featur
389
425
2 . 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。
390
426
3 . 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。
391
427
392
- ### 为什么要做这个开源文档?
393
-
394
- 初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。
395
-
396
- ### 投稿
397
-
398
- 由于我个人能力有限,很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。大家也可以对自己的文章进行自荐,对于不错的文章不仅可以成功在本仓库展示出来更可以获得作者送出的 50 元左右的任意书籍进行奖励(当然你也可以直接折现50元)。
399
-
400
428
### 联系我
401
429
402
430
![ 个人微信] ( https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/wechat3.jpeg )
@@ -465,3 +493,5 @@ Markdown 格式参考:[Github Markdown格式](https://guides.github.com/featur
465
493
** Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 ** “1”** 即可免费无套路获取。
466
494
467
495
![ 我的公众号] ( https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png )
496
+
497
+
0 commit comments