Skip to content

Commit fdf63e5

Browse files
committed
fix words, path
1 parent d9acdb3 commit fdf63e5

42 files changed

Lines changed: 276 additions & 1560 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ReadMe.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
本仓库原为[Java工程师技术指南](https://github.com/h2pl/Java-Tutorial),现 fork 修正错误和更新内容。
1+
本仓库原为 [Java工程师技术指南](https://github.com/h2pl/Java-Tutorial),现 fork 修正错误和更新内容。
22

33
## 目录
44

5-
- [Java基础](#Java基础)
5+
- [Java基础](#Java基础)
66
- [基础知识](#基础知识)
77
- [容器](#容器)
88
- [设计模式](#设计模式)
@@ -15,9 +15,9 @@
1515
- [JVM](#JVM)
1616
- [Java网络编程](#Java网络编程)
1717
- [算法](#算法)
18-
-[必备算法总结](#必备算法总结)
19-
-[剑指offer](#剑指offer)
20-
-[todo]()
18+
- [必备算法总结](#必备算法总结)
19+
- [剑指offer](#剑指offer)
20+
- [todo]()
2121
- [计算机基础](#计算机基础)
2222
- [计算机网络](#计算机网络)
2323
- [操作系统](#操作系统)
@@ -43,8 +43,6 @@
4343
- [资料](#资料)
4444
- [书单](#书单)
4545
- [待办](#待办)
46-
- [说明](#说明)
47-
- [微信公众号](#微信公众号)
4846

4947
## Java基础
5048

@@ -128,12 +126,12 @@
128126

129127
### SpringMVC
130128

131-
* [SpringMVC源码分析1:SpringMVC概述](docs/java-web/Spring/SSM/SpringMVC源码分析1:SpringMVC概述.md)
132-
* [SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet](docs/java-web/Spring/SSM/SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet.md)
133-
* [SpringMVC源码分析3:DispatcherServlet的初始化与请求转发 ](docs/java-web/Spring/SSM/SpringMVC源码分析3:DispatcherServlet的初始化与请求转发.md)
134-
* [SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller ](docs/java-web/Spring/SSM/SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller.md)
135-
* [SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解](docs/java-web/Spring/SSM/SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解.md)
136-
* [SpringMVC源码分析6:SpringMVC的视图解析原理 ](docs/java-web/Spring/SSM/SpringMVC源码分析6:SpringMVC的视图解析原理.md)
129+
* [SpringMVC源码分析1:SpringMVC概述](docs/java-web/SSM/SpringMVC源码分析1:SpringMVC概述.md)
130+
* [SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet](docs/java-web/SSM/SpringMVC源码分析2:SpringMVC设计理念与DispatcherServlet.md)
131+
* [SpringMVC源码分析3:DispatcherServlet的初始化与请求转发 ](docs/java-web/SSM/SpringMVC源码分析3:DispatcherServlet的初始化与请求转发.md)
132+
* [SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller ](docs/java-web/SSM/SpringMVC源码分析4:DispatcherServlet如何找到正确的Controller.md)
133+
* [SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解](docs/java-web/SSM/SpringMVC源码剖析5:消息转换器HttpMessageConverter与@ResponseBody注解.md)
134+
* [SpringMVC源码分析6:SpringMVC的视图解析原理](docs/java-web/SSM/SpringMVC源码分析1:SpringMVC概述.md)
137135

138136
### SpringBoot
139137

@@ -185,17 +183,17 @@ todo
185183

186184
### Java网络编程
187185

188-
* [Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制](docs/java/jvm/Java网络编程和NIO详解1:JAVA%20中原生的%20socket%20通信机制.md)
189-
* [Java网络编程与NIO详解2:JAVA NIO 一步步构建IO多路复用的请求模型](docs/java/jvm/Java网络编程与NIO详解2:JAVA%20NIO%20一步步构建IO多路复用的请求模型.md)
190-
* [Java网络编程和NIO详解3:IO模型与Java网络编程模型](docs/java/jvm/Java网络编程和NIO详解3:IO模型与Java网络编程模型.md)
191-
* [Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector](https://github.com/h2pl/Java-Tutorial/blob/master/docs/java/network-programming/Java%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E4%B8%8ENIO%E8%AF%A6%E8%A7%A34%EF%BC%9A%E6%B5%85%E6%9E%90NIO%E5%8C%85%E4%B8%AD%E7%9A%84Buffer%E3%80%81Channel%20%E5%92%8C%20Selector.md)
192-
* [Java网络编程和NIO详解5:Java 非阻塞 IO 和异步 IO](https://github.com/h2pl/Java-Tutorial/blob/master/docs/java/network-programming/Java%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%92%8CNIO%E8%AF%A6%E8%A7%A35%EF%BC%9AJava%20%E9%9D%9E%E9%98%BB%E5%A1%9E%20IO%20%E5%92%8C%E5%BC%82%E6%AD%A5%20IO.md)
193-
* [Java网络编程和NIO详解6:Linux epoll实现原理详解](docs/java/jvm/Java网络编程和NIO详解6:Linux%20epoll实现原理详解.md)
194-
* [Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理](Java网络编程和NIO详解7:浅谈%20Linux%20中NIO%20Selector%20的实现原理.md)
195-
* [Java网络编程与NIO详解8:浅析mmap和Direct Buffer](https://github.com/h2pl/Java-Tutorial/blob/master/docs/java/network-programming/Java%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E4%B8%8ENIO%E8%AF%A6%E8%A7%A38%EF%BC%9A%E6%B5%85%E6%9E%90mmap%E5%92%8CDirect%20Buffer.md)
196-
* [Java网络编程和NIO详解9:基于NIO的网络编程框架Netty](docs/java/jvm/Java网络编程和NIO详解9:基于NIO的网络编程框架Netty.md)
197-
* [Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型](https://github.com/h2pl/Java-Tutorial/blob/master/docs/java/network-programming/Java%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E4%B8%8ENIO%E8%AF%A6%E8%A7%A310%EF%BC%9A%E6%B7%B1%E5%BA%A6%E8%A7%A3%E8%AF%BBTomcat%E4%B8%AD%E7%9A%84NIO%E6%A8%A1%E5%9E%8B.md)
198-
* [Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)](docs/java/jvm/Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO).md)
186+
* [Java网络编程和NIO详解1:JAVA 中原生的 socket 通信机制](docs/java/network-programming/Java网络编程和NIO详解1:JAVA%20中原生的%20socket%20通信机制.md)
187+
* [Java网络编程与NIO详解2:JAVA NIO 一步步构建IO多路复用的请求模型](docs/java/network-programming/Java网络编程与NIO详解2:JAVA%20NIO%20一步步构建IO多路复用的请求模型.md)
188+
* [Java网络编程和NIO详解3:IO模型与Java网络编程模型](docs/java/network-programming/Java网络编程和NIO详解3:IO模型与Java网络编程模型.md)
189+
* [Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel 和 Selector](docs/java/network-programming/Java网络编程与NIO详解4:浅析NIO包中的Buffer、Channel%20和%20Selector.md)
190+
* [Java网络编程和NIO详解5:Java 非阻塞 IO 和异步 IO](docs/java/network-programming/Java网络编程和NIO详解5:Java%20非阻塞%20IO%20和异步%20IO.md)
191+
* [Java网络编程和NIO详解6:Linux epoll实现原理详解](docs/java/network-programming/Java网络编程和NIO详解6:Linux%20epoll实现原理详解.md)
192+
* [Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理](docs/java/network-programming/Java网络编程和NIO详解7:浅谈%20Linux%20中NIO%20Selector%20的实现原理.md)
193+
* [Java网络编程与NIO详解8:浅析mmap和Direct Buffer](docs/java/network-programming/Java网络编程与NIO详解8:浅析mmap和Direct%20Buffer.md)
194+
* [Java网络编程和NIO详解9:基于NIO的网络编程框架Netty](docs/java/network-programming/Java网络编程和NIO详解9:基于NIO的网络编程框架Netty.md)
195+
* [Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型](docs/java/network-programming/Java网络编程与NIO详解10:深度解读Tomcat中的NIO模型.md)
196+
* [Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO)](docs/java/network-programming/Java网络编程与NIO详解11:Tomcat中的Connector源码分析(NIO).md)
199197

200198
## 算法
201199

@@ -217,6 +215,7 @@ todo
217215

218216
* [计算机网络学习总结](docs/network/计算机网络学习总结.md)
219217
* [tcp/ip必会](https://www.cxyxiaowu.com/11609.html)
218+
* [计算机网络——五层与七层模型](https://blog.csdn.net/liuchengzimozigreat/article/details/100169829)
220219

221220
### 操作系统
222221

@@ -226,7 +225,7 @@ todo
226225

227226
[Linux内核与基础命令学习总结](docs/operating-system/Linux内核与基础命令学习总结.md)
228227

229-
#### 编译原理
228+
### 编译原理
230229

231230
todo
232231

@@ -249,7 +248,7 @@ todo
249248
### MySQL
250249
* [Mysql原理与实践总结](docs/database/Mysql原理与实践总结.md)
251250
* [重新学习Mysql数据库1:无废话MySQL入门](docs/database/重新学习Mysql数据库1:无废话MySQL入门.md)
252-
* [重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB](docs/database/重新学习Mysql数据库2:%20『浅入浅出』MySQL%20和%20InnoDB.md)
251+
* [重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB](docs/database/重新学习Mysql数据库2:MySQL 和 InnoDB.md)
253252
* [重新学习Mysql数据库3:Mysql存储引擎与数据存储原理](docs/database/重新学习Mysql数据库3:Mysql存储引擎与数据存储原理.md)
254253
* [重新学习Mysql数据库4:Mysql索引实现原理和相关数据结构算法](docs/database/重新学习Mysql数据库4:Mysql索引实现原理和相关数据结构算法.md)
255254
* [重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化](docs/database/重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化.md)
@@ -358,6 +357,7 @@ todo
358357
todo
359358

360359
## 工具
360+
361361
todo
362362

363363
## 资料

docs/database/Mysql原理与实践总结.md

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
* [分库分表](#分库分表)
2222
* [主从复制,读写分离](#主从复制,读写分离)
2323
* [分布式数据库](#分布式数据库)
24-
* [微信公众号](#微信公众号)
25-
* [Java技术江湖](#java技术江湖)
26-
* [个人公众号:黄小斜](#个人公众号:黄小斜)
2724

2825

2926
---
@@ -62,6 +59,20 @@ Mysql是关系数据库。
6259
## 存储过程与视图
6360
存储过程是对sql语句进行预编译并且以文件形式包装为一个可以快速执行的程序。但是缺点是不易修改,稍微改动语句就需要重新开发储存过程,优点是执行效率快。视图就是对其他一个或多个表进行重新包装,是一个外观模式,对视图数据的改动也会影响到数据报本身。
6461

62+
## 内模式,模式,外模式
63+
64+
模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。
65+
66+
外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。
67+
68+
内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式的物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
69+
70+
##### 拓展资料
71+
72+
用户应用程序根据外模式进行数据操作,通过外模式一模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;
73+
74+
另一方面,通过模式一内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式一内模式映射,就能保持模式不变,因此应用程序也可以保持不变。
75+
6576
## 事务与隔离级别
6677
事务的四个性质:原子性,一致性,持久性,隔离性。
6778

@@ -213,40 +224,40 @@ mysql慢查询日志可以在mysql的,my.cnf文件中配置开启,然后执行
213224

214225
215226
216-
还是没用到索引,因为不符合最左前缀匹配。查询需要3.5秒左右
227+
还是没用到索引,因为不符合最左前缀匹配。查询需要3.5秒左右
217228

218229

219230
220231
221-
最后修改一下sql语句
222-
223-
EXPLAIN SELECT * FROM vote_record WHERE id > 0 AND vote_num > 1000;
224-
232+
最后修改一下sql语句
233+
234+
EXPLAIN SELECT * FROM vote_record WHERE id > 0 AND vote_num > 1000;
235+
225236
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
226237

227238
1 SIMPLE vote_record \N range PRIMARY,votenum,vote PRIMARY 4 \N 498253 50.00 Using where
228239

229240

230241
231242
232-
用到了索引,但是只用到了主键索引。再修改一次
243+
用到了索引,但是只用到了主键索引。再修改一次
233244

234245

235246
236247
237-
EXPLAIN SELECT * FROM vote_record WHERE id > 0 AND vote_num = 1000;
248+
EXPLAIN SELECT * FROM vote_record WHERE id > 0 AND vote_num = 1000;
238249

239250

240251
241252
242-
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
243-
244-
1 SIMPLE vote_record \N index_merge PRIMARY,votenum,vote votenum,PRIMARY 8,4 \N 51 100.00 Using intersect(votenum,PRIMARY); Using where
253+
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
254+
255+
1 SIMPLE vote_record \N index_merge PRIMARY,votenum,vote votenum,PRIMARY 8,4 \N 51 100.00 Using intersect(votenum,PRIMARY); Using where
245256

246257

247258
248259
249-
用到了两个索引,votenum,PRIMARY。
260+
用到了两个索引,votenum,PRIMARY。
250261

251262
## mysql的binlog,redo log和undo log。
252263

docs/database/重新学习Mysql数据13:Mysql主从复制,读写分离,分表分库策略与实践.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,8 @@ create database database4 character set utf8;
361361

362362
执行`bin`目录下的`startup_nowrap.bat`文件,如果输出下面内容,则说明已经启动mycat成功,如果没有,请检查`order,trade,user,comment`4个数据库是否已经创建。
363363

364-
<embed src="https://img2018.cnblogs.com/blog/1092007/201908/1092007-20190824171417782-1932957742.webp">
364+
<embed src="https://img2018.cnblogs.com/blog/1092007/201908/1092007-20190824171417782-1932957742.webp">.webp">
365+
365366

366367
采用下面语句登陆Mycat服务器:
367368

docs/database/重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB.md renamed to docs/database/重新学习Mysql数据库2:MySQL 和 InnoDB.md

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,35 @@
33
* [数据库的定义](#数据库的定义)
44
* [数据库和实例](#数据库和实例)
55
* [MySQL 的架构](#mysql-的架构)
6+
67
* [数据的存储](#数据的存储)
78
* [如何存储表](#如何存储表)
89
* [如何存储记录](#如何存储记录)
910
* [数据页结构](#数据页结构)
11+
1012
* [索引](#索引)
1113
* [索引的数据结构](#索引的数据结构)
1214
* [聚集索引和辅助索引](#聚集索引和辅助索引)
1315
* [索引的设计](#索引的设计)
16+
1417
* [](#锁)
1518
* [并发控制机制](#并发控制机制)
1619
* [锁的种类](#锁的种类)
1720
* [锁的粒度](#锁的粒度)
1821
* [锁的算法](#锁的算法)
1922
* [死锁的发生](#死锁的发生)
23+
2024
* [事务与隔离级别](#事务与隔离级别)
2125
* [几种隔离级别](#几种隔离级别)
2226
* [脏读](#脏读)
2327
* [不可重复读](#不可重复读)
2428
* [幻读](#幻读)
29+
2530
* [总结](#总结)
26-
* [[Innodb与Myisam引擎的区别与应用场景](https://www.cnblogs.com/changna1314/p/6878900.html)](#[innodb与myisam引擎的区别与应用场景]httpswwwcnblogscomchangna1314p6878900html)
27-
28-
29-
本文转自互联网
30-
31-
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看
32-
> https://github.com/h2pl/Java-Tutorial
33-
34-
喜欢的话麻烦点下Star哈
35-
36-
本也将整理到我的个人博客:
37-
> www.how2playlife.com
38-
39-
更多Java技术文章将陆续在微信公众号【Java技术江湖】更新,敬请关注。
40-
41-
本文是《重新学习MySQL数据库》系列其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有侵权,请联系作者。
42-
43-
该系列博文会告诉你如何从入门到进阶,从sql基本的使用方法,从MySQL执行引擎再到索引、事务等知识,一步步地学习MySQL相关技术的实现原理,更好地了解如何基于这些知识来优化sql,减少SQL执行时间,通过执行计划对SQL性能进行分析,再到MySQL的主从复制、主备部署等内容,以便让你更完整地了解整个MySQL方面的技术体系,形成自己的知识框架。
44-
45-
如果对本系列文章有什么建议,或者是有什么疑问的话,也可以关注公众号【Java技术江湖】联系作者,欢迎你参与本系列博文的创作和修订。
46-
47-
<!-- more -->
48-
49-
<!-- more -->
5031

32+
* [[Innodb与Myisam引擎的区别与应用场景](https://www.cnblogs.com/changna1314/p/6878900.html)](#[innodb与myisam引擎的区别与应用场景]httpswwwcnblogscomchangna1314p6878900html)
5133

34+
5235

5336
作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。
5437

0 commit comments

Comments
 (0)