README.md 11.0 KB
Newer Older
C
CyC2018 已提交
1 2
| Ⅰ | Ⅱ | Ⅲ | Ⅳ | Ⅴ | Ⅵ | Ⅶ | Ⅷ | Ⅸ | Ⅹ |
| :--------: | :---------: | :---------: | :---------: | :---------: | :---------:| :---------: | :-------: | :-------:| :------:|
郑永川 已提交
3
| 算法[:pencil2:](#pencil2-算法) | 操作系统[:computer:](#computer-操作系统)|网络[:cloud:](#cloud-网络) | 面向对象[:couple:](#couple-面向对象) |数据库[:floppy_disk:](#floppy_disk-数据库)| Java [:coffee:](#coffee-java)| 系统设计[:bulb:](#bulb-系统设计)| 工具[:hammer:](#hammer-工具)| 编码实践[:speak_no_evil:](#speak_no_evil-编码实践)| 后记[:memo:](#memo-后记) |
C
CyC2018 已提交
4

C
CyC2018 已提交
5
<br>
C
CyC2018 已提交
6

C
CyC2018 已提交
7
<div align="center">
C
fix  
CyC2018 已提交
8
    <img src="other/LogoMakr_0zpEzN.png" width="150px">
C
fix  
CyC2018 已提交
9
    <br>
郑永川 已提交
10
    <a href="https://cyc2018.github.io/CS-Notes"> <img src="https://img.shields.io/badge/>-read-4ab8a1.svg"></a>  <a href="https://xiaozhuanlan.com/CyC2018"> <img src="https://img.shields.io/badge/_-zhuanlan-4ab8a1.svg"></a> 
郑永川 已提交
11
</div> 
C
CyC2018 已提交
12

郑永川 已提交
13
### :pencil2: 算法
C
CyC2018 已提交
14

C
CyC2018 已提交
15
- [剑指 Offer 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/剑指%20offer%20题解.md)
C
CyC2018 已提交
16

郑永川 已提交
17
  目录根据原书第二版进行编排,代码和原书有所不同,尽量比原书更简洁。
C
CyC2018 已提交
18

C
CyC2018 已提交
19
- [Leetcode 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode%20题解.md)
C
CyC2018 已提交
20

郑永川 已提交
21
  对题目做了一个大致分类,并对每种题型的解题思路做了总结。
郑永川 已提交
22
  
C
CyC2018 已提交
23
 - [算法](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/算法.md)
郑永川 已提交
24

郑永川 已提交
25
   排序、并查集、栈和队列、红黑树、散列表。
C
CyC2018 已提交
26

郑永川 已提交
27
### :computer: 操作系统
C
CyC2018 已提交
28

C
CyC2018 已提交
29
- [计算机操作系统](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机操作系统.md)
C
CyC2018 已提交
30

郑永川 已提交
31
  进程管理、内存管理、设备管理、链接。
C
CyC2018 已提交
32

C
CyC2018 已提交
33
- [Linux](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Linux.md)
C
CyC2018 已提交
34

郑永川 已提交
35
  基本实现原理以及基本操作。
C
CyC2018 已提交
36

郑永川 已提交
37
### :cloud: 网络 
C
CyC2018 已提交
38

C
CyC2018 已提交
39
- [计算机网络](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机网络.md)
C
CyC2018 已提交
40

郑永川 已提交
41
  物理层、链路层、网络层、运输层、应用层。
C
CyC2018 已提交
42

C
CyC2018 已提交
43
- [HTTP](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/HTTP.md)
C
CyC2018 已提交
44

郑永川 已提交
45
  方法、状态码、Cookie、缓存、连接管理、HTTPs、HTTP 2.0。
C
CyC2018 已提交
46

C
CyC2018 已提交
47
- [Socket](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Socket.md)
C
CyC2018 已提交
48

郑永川 已提交
49
  I/O 模型、I/O 多路复用。
C
CyC2018 已提交
50

郑永川 已提交
51
### :couple: 面向对象
C
CyC2018 已提交
52

C
CyC2018 已提交
53
- [设计模式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/设计模式.md)
C
CyC2018 已提交
54

郑永川 已提交
55
  实现了 Gof 的 23 种设计模式。
C
CyC2018 已提交
56

C
CyC2018 已提交
57
- [面向对象思想](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/面向对象思想.md)
C
CyC2018 已提交
58

郑永川 已提交
59
  三大原则(继承、封装、多态)、类图、设计原则。
C
CyC2018 已提交
60

郑永川 已提交
61
### :floppy_disk: 数据库 
C
CyC2018 已提交
62

C
CyC2018 已提交
63
- [数据库系统原理](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/数据库系统原理.md)
C
CyC2018 已提交
64

郑永川 已提交
65
  事务、锁、隔离级别、MVCC、间隙锁、范式。
C
CyC2018 已提交
66

C
CyC2018 已提交
67
- [SQL](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/SQL.md)
C
CyC2018 已提交
68

郑永川 已提交
69
  SQL 基本语法。
C
CyC2018 已提交
70

C
CyC2018 已提交
71
- [Leetcode-Database 题解](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode-Database%20题解.md)
C
CyC2018 已提交
72

郑永川 已提交
73
  Leetcode 上数据库题目的解题记录。
C
CyC2018 已提交
74

C
CyC2018 已提交
75
- [MySQL](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/MySQL.md)
C
CyC2018 已提交
76

郑永川 已提交
77
  存储引擎、索引、查询优化、切分、复制。
C
CyC2018 已提交
78

C
CyC2018 已提交
79
- [Redis](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Redis.md)
C
CyC2018 已提交
80

郑永川 已提交
81
  五种数据类型、字典和跳跃表数据结构、使用场景、和 Memcache 的比较、淘汰策略、持久化、文件事件的 Reactor 模式、复制。
C
CyC2018 已提交
82

郑永川 已提交
83
### :coffee: Java
C
CyC2018 已提交
84

C
CyC2018 已提交
85
- [Java 基础](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20基础.md)
C
CyC2018 已提交
86

郑永川 已提交
87
  不会涉及很多基本语法介绍,主要是一些实现原理以及关键特性。
C
CyC2018 已提交
88

C
CyC2018 已提交
89
- [Java 容器](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20容器.md)
C
CyC2018 已提交
90

Y
yifei-fu 已提交
91
  源码分析:ArrayList、Vector、CopyOnWriteArrayList、LinkedList、HashMap、ConcurrentHashMap、LinkedHashMap、WeakHashMap。
C
CyC2018 已提交
92

C
CyC2018 已提交
93
- [Java 并发](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20并发.md)
C
CyC2018 已提交
94

郑永川 已提交
95
  线程使用方式、两种互斥同步方法、线程协作、JUC、线程安全、内存模型、锁优化。
C
CyC2018 已提交
96

C
CyC2018 已提交
97
- [Java 虚拟机](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20虚拟机.md)
C
CyC2018 已提交
98

郑永川 已提交
99
  运行时数据区域、垃圾收集、类加载。
C
CyC2018 已提交
100

C
CyC2018 已提交
101
- [Java I/O](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20IO.md)
C
CyC2018 已提交
102

郑永川 已提交
103
  NIO 的原理以及实例。
C
CyC2018 已提交
104

郑永川 已提交
105
### :bulb: 系统设计 
C
CyC2018 已提交
106

C
CyC2018 已提交
107
- [系统设计基础](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/系统设计基础.md)
C
CyC2018 已提交
108

郑永川 已提交
109
  性能、伸缩性、扩展性、可用性、安全性
C
CyC2018 已提交
110

C
CyC2018 已提交
111
- [分布式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/分布式.md)
C
CyC2018 已提交
112

郑永川 已提交
113
  分布式锁、分布式事务、CAP、BASE、Paxos、Raft
C
CyC2018 已提交
114

C
CyC2018 已提交
115
- [集群](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/集群.md)
C
CyC2018 已提交
116

郑永川 已提交
117
  负载均衡、Session 管理
C
CyC2018 已提交
118

C
CyC2018 已提交
119
- [攻击技术](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/攻击技术.md)
C
CyC2018 已提交
120

郑永川 已提交
121
  XSS、CSRF、SQL 注入、DDoS
C
CyC2018 已提交
122

C
CyC2018 已提交
123
- [缓存](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/缓存.md)
C
CyC2018 已提交
124

郑永川 已提交
125
  缓存特征、缓存位置、缓存问题、数据分布、一致性哈希、LRU、CDN
C
CyC2018 已提交
126

C
CyC2018 已提交
127
- [消息队列](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/消息队列.md)
C
CyC2018 已提交
128

郑永川 已提交
129
  消息处理模型、使用场景、可靠性
C
CyC2018 已提交
130

郑永川 已提交
131
### :hammer: 工具 
C
CyC2018 已提交
132

C
CyC2018 已提交
133
- [Git](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Git.md)
C
CyC2018 已提交
134

郑永川 已提交
135
  一些 Git 的使用和概念。
C
CyC2018 已提交
136

C
CyC2018 已提交
137
- [Docker](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Docker.md)
C
CyC2018 已提交
138

郑永川 已提交
139
  Docker 基本原理。
C
CyC2018 已提交
140
  
郑永川 已提交
141
- [构建工具](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/构建工具.md)
C
CyC2018 已提交
142 143

  构建工具的基本概念、主流构建工具介绍。
C
CyC2018 已提交
144

C
CyC2018 已提交
145
- [正则表达式](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/正则表达式.md)
C
CyC2018 已提交
146

郑永川 已提交
147
  正则表达式基本语法。
C
CyC2018 已提交
148

郑永川 已提交
149
### :speak_no_evil: 编码实践 
C
CyC2018 已提交
150

C
CyC2018 已提交
151
- [代码可读性](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/代码可读性.md)
C
CyC2018 已提交
152

郑永川 已提交
153
  参考 编写可读代码的艺术。
C
CyC2018 已提交
154

C
CyC2018 已提交
155
- [代码风格规范](https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/代码风格规范.md)
C
CyC2018 已提交
156

郑永川 已提交
157
  Google 开源项目的代码风格规范。
C
CyC2018 已提交
158

郑永川 已提交
159
### :memo: 后记 
C
CyC2018 已提交
160

郑永川 已提交
161
#### About
C
CyC2018 已提交
162

郑永川 已提交
163
本仓库主要是根据计算机经典书籍以及官方技术文档进行总结的学习笔记,希望对大家有所帮助。
C
CyC2018 已提交
164

郑永川 已提交
165
学习笔记不是从网上到处拼凑而来,除了少部分引用书上和技术文档的原文,其余都是笔者的原创。在您引用本仓库内容或者对内容进行修改演绎时,请遵循文末的开源协议,谢谢。
C
CyC2018 已提交
166

郑永川 已提交
167
#### How To Contribute
C
CyC2018 已提交
168

郑永川 已提交
169
笔记内容是笔者一个字一个字打上去的,难免会有一些笔误,如果发现笔误可直接对相应文档进行编辑修改。
C
CyC2018 已提交
170

郑永川 已提交
171 172 173
如果想要提交一个仓库现在还没有的全新内容,可以先将相应的文档放到 other 目录下。

欢迎在 Issue 中提交对本仓库的改进建议~
郑永川 已提交
174

C
CyC2018 已提交
175 176 177 178
#### 2018 Summary

[2018 这一年.md](other/2018%20这一年.md)

郑永川 已提交
179 180 181 182
#### LEARNING

学习资料推荐:[LEARNING.md](other/LEARNING.md)

郑永川 已提交
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
#### Column

因为想写一些面试相关的内容,但是又很难加到已有的内容中,所以再开了一个专栏。

[后端技术面试指南](https://xiaozhuanlan.com/CyC2018)

<img src="https://github.com/CyC2018/CS-Notes/raw/master/other/column.png" width="100px">

#### Group

创建交流群的主要目的是为了给大家提供一个实时交流的平台。

<img src="https://github.com/CyC2018/CS-Notes/raw/master/other/group.png" width="150px">

#### Planet

知识星球为大家提供一个高质量的学习交流平台,这个平台旨在建立一个一起努力和成长的氛围。在这里你可以提问在学习或求职过程中遇到的疑惑,能够得到星主以及不同人的回答以及建议。

<img src="https://github.com/CyC2018/CS-Notes/raw/master/other/planet.jpg" width="150px">

郑永川 已提交
203
#### Typesetting
C
CyC2018 已提交
204

205
笔记内容按照 [中文文案排版指北](https://mazhuang.org/wiki/chinese-copywriting-guidelines/) 进行排版,以保证内容的可读性。
C
CyC2018 已提交
206

郑永川 已提交
207
笔记不使用 `![]()` 这种方式来引用图片,而是用 `<img>` 标签。一方面是为了能够控制图片以合适的大小显示,另一方面是因为 GFM 不支持 `<center> ![]() </center>` 让图片居中显示,只能使用 `<div align="center"> <img src=""/> </div>` 达到居中的效果。
郑永川 已提交
208

郑永川 已提交
209
笔者将自己实现的文档排版功能提取出来,放在 Github Page 中,无需下载安装即可免费使用:[Text-Typesetting](https://github.com/CyC2018/Markdown-Typesetting)
C
CyC2018 已提交
210

郑永川 已提交
211
#### Uploading
C
CyC2018 已提交
212

郑永川 已提交
213
笔者在本地使用为知笔记软件进行书写,为了方便将本地笔记内容上传到 Github 上,实现了一整套自动化上传方案,包括文本文件的导出、提取图片、Markdown 文档转换、Git 同步。
郑永川 已提交
214

郑永川 已提交
215
进行 Markdown 文档转换是因为 Github 使用的 GFM 不支持 MathJax 公式和 TOC 标记,所以需要替换 MathJax 公式为 CodeCogs 的云服务和重新生成 TOC 目录。
C
CyC2018 已提交
216

郑永川 已提交
217
笔者将自己实现文档转换功能提取出来,方便大家在需要将本地 Markdown 上传到 Github,或者制作项目 README 文档时生成目录时使用:[GFM-Converter](https://github.com/CyC2018/GFM-Converter)
C
CyC2018 已提交
218

郑永川 已提交
219
#### Logo
C
fix  
CyC2018 已提交
220

C
CyC2018 已提交
221 222
Power by [logomakr](https://logomakr.com/).

C
CyC2018 已提交
223 224 225 226
#### Statement

本仓库不参与商业行为,不向读者收取任何费用。(This repository is not engaging in business activities, and does not charge readers any fee.)

郑永川 已提交
227
#### Acknowledgements
C
CyC2018 已提交
228 229 230 231

感谢以下人员对本仓库做出的贡献,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与笔者联系。

<a href="https://github.com/linw7">
C
CyC2018 已提交
232
<img src="https://avatars3.githubusercontent.com/u/21679154?s=400&v=4" width="50px">
C
CyC2018 已提交
233 234
</a> 
<a href="https://github.com/g10guang">
C
CyC2018 已提交
235
<img src="https://avatars1.githubusercontent.com/u/18458140?s=400&v=4" width="50px">
C
CyC2018 已提交
236 237
</a> 
<a href="https://github.com/ResolveWang">
C
CyC2018 已提交
238
<img src="https://avatars1.githubusercontent.com/u/8018776?s=400&v=4" width="50px">
C
CyC2018 已提交
239 240
</a>
<a href="https://github.com/crossoverJie">
C
CyC2018 已提交
241
<img src="https://avatars1.githubusercontent.com/u/15684156?s=400&v=4" width="50px">
C
CyC2018 已提交
242 243
</a> 
<a href="https://github.com/jy03078584">
C
CyC2018 已提交
244
<img src="https://avatars2.githubusercontent.com/u/7719370?s=400&v=4" width="50px">
C
CyC2018 已提交
245 246
</a>
<a href="https://github.com/kwongtailau">
C
CyC2018 已提交
247
<img src="https://avatars0.githubusercontent.com/u/22954582?s=400&v=4" width="50px">
C
CyC2018 已提交
248 249
</a>
<a href="https://github.com/xiangflight">
C
CyC2018 已提交
250
<img src="https://avatars2.githubusercontent.com/u/10072416?s=400&v=4" width="50px">
郑永川 已提交
251 252
</a>
<a href="https://github.com/mafulong">
C
CyC2018 已提交
253
<img src="https://avatars1.githubusercontent.com/u/24795000?s=400&v=4" width="50px">
C
CyC2018 已提交
254
</a>
255 256 257 258
<a href="https://github.com/yanglbme">
<img src="https://avatars1.githubusercontent.com/u/21008209?s=400&v=4" width="50px">
</a>

C
CyC2018 已提交
259

郑永川 已提交
260
#### License
C
fix  
CyC2018 已提交
261

郑永川 已提交
262 263 264
在对本作品进行演绎时,请署名并以相同方式共享。

<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a>
C
CyC2018 已提交
265