Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
清新范er
JavaGuide
提交
7b9ac137
J
JavaGuide
项目概览
清新范er
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7b9ac137
编写于
7月 23, 2019
作者:
S
SnailClimb
提交者:
GitHub
7月 23, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #395 from yellowgg/master
Fix typo
上级
6537533d
de85bf45
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
7 deletion
+8
-7
docs/database/MySQL.md
docs/database/MySQL.md
+6
-5
docs/operating-system/Shell.md
docs/operating-system/Shell.md
+1
-1
docs/operating-system/后端程序员必备的Linux基础知识.md
docs/operating-system/后端程序员必备的Linux基础知识.md
+1
-1
未找到文件。
docs/database/MySQL.md
浏览文件 @
7b9ac137
...
...
@@ -174,7 +174,7 @@ select sql_no_cache count(*) from usr;
-
**不可重复读(Unrepeatableread):**
指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样。这就发生了在一个事务内两次读到的数据是不一样的情况,因此称为不可重复读。
-
**幻读(Phantom read):**
幻读与不可重复读类似。它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在随后的查询中,第一个事务(T1)就会发现多了一些原本不存在的记录,就好像发生了幻觉一样,所以称为幻读。
**不可重复
度
和幻读区别:**
**不可重复
读
和幻读区别:**
不可重复读的重点是修改比如多次读取一条记录发现其中某些列的值被修改,幻读的重点在于新增或者删除比如多次读取一条记录发现记录增多或减少了。
...
...
@@ -207,11 +207,12 @@ mysql> SELECT @@tx_isolation;
+
-----------------+
```
这里需要注意的是:与 SQL 标准不同的地方在于 InnoDB 存储引擎在
**REPEATABLE-READ(可重读)**
事务隔离级别下使用的是Next-Key Lock 锁算法,因此可以避免幻读的产生,这与其他数据库系统(如 SQL Server)是不同的。所以说InnoDB 存储引擎的默认支持的隔离级别是
**REPEATABLE-READ(可重读)**
已经可以完全保证事务的隔离性要求,即达到了 SQL标准的
**SERIALIZABLE(可串行化)**
隔离级别。
这里需要注意的是:与 SQL 标准不同的地方在于 InnoDB 存储引擎在
**REPEATABLE-READ(可重读)**
事务隔离级别下使用的是Next-Key Lock 锁算法,因此可以避免幻读的产生,这与其他数据库系统(如 SQL Server)
是不同的。所以说InnoDB 存储引擎的默认支持的隔离级别是
**REPEATABLE-READ(可重读)**
已经可以完全保证事务的隔离性要求,即达到了
SQL标准的
**SERIALIZABLE(可串行化)**
隔离级别。因为隔离级别越低,事务请求的锁越少,所以大部分数据库系统的隔离级别都是
**READ-COMMITTED(读取提交内容)**
,但是你要知道的是InnoDB 存储引擎默认使用
**REPEAaTABLE-READ(可重读)**
并不会有任何性能损失。
因为隔离级别越低,事务请求的锁越少,所以大部分数据库系统的隔离级别都是
**READ-COMMITTED(读取提交内容):**
,但是你要知道的是InnoDB 存储引擎默认使用
**REPEATABLE-READ(可重读)**
并不会有任何性能损失。
InnoDB 存储引擎在
**分布式事务**
的情况下一般会用到
**SERIALIZABLE(可串行化)**
隔离级别。
InnoDB 存储引擎在
**分布式事务**
的情况下一般会用到
**SERIALIZABLE(可串行化)**
隔离级别。
### 锁机制与InnoDB锁算法
...
...
docs/operating-system/Shell.md
浏览文件 @
7b9ac137
...
...
@@ -78,7 +78,7 @@ echo "helloworld!"
shell中 # 符号表示注释。
**shell 的第一行比较特殊,一般都会以#!开始来指定使用的 shell 类型。在linux中,除了bash shell以外,还有很多版本的shell, 例如zsh、dash等等...不过bash shell还是我们使用最多的。**
(4) 运行脚本:
`./helloworld.sh`
。(注意,一定要写成
`./helloworld.sh`
,而不是
`helloworld.sh`
,运行其它二进制的程序也一样,直接写
`helloworld.sh`
,linux 系统会去 PATH 里寻找有没有叫
test
.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成
`helloworld.sh`
是会找不到命令的,要用
`./helloworld.sh`
告诉系统说,就在当前目录找。)
(4) 运行脚本:
`./helloworld.sh`
。(注意,一定要写成
`./helloworld.sh`
,而不是
`helloworld.sh`
,运行其它二进制的程序也一样,直接写
`helloworld.sh`
,linux 系统会去 PATH 里寻找有没有叫
helloworld
.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成
`helloworld.sh`
是会找不到命令的,要用
`./helloworld.sh`
告诉系统说,就在当前目录找。)
![
shell 编程Hello World
](
http://my-blog-to-use.oss-cn-beijing.aliyuncs.com/18-11-16/55296212.jpg
)
...
...
docs/operating-system/后端程序员必备的Linux基础知识.md
浏览文件 @
7b9ac137
...
...
@@ -206,7 +206,7 @@ Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.g
1 将/test下的test.tar.gz解压到当前目录下可以使用命令:
**`tar -xvf test.tar.gz`**
2 将/test下的test.tar.gz解压到根目录/usr下:
**`tar -xvf
xxx
.tar.gz -C /usr`**
(- C代表指定解压的位置)
2 将/test下的test.tar.gz解压到根目录/usr下:
**`tar -xvf
test
.tar.gz -C /usr`**
(- C代表指定解压的位置)
### 4.5 Linux的权限命令
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录