From d0aa3a38a8a2b69c8b0d5b1923eb94a50b501fbc Mon Sep 17 00:00:00 2001 From: resolvewang <1796246076@qq.com> Date: Sun, 11 Mar 2018 16:14:29 +0800 Subject: [PATCH 001/309] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=8E=9F=E7=90=86=E5=8B=98=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.关于隔离级别的部分叙述应该是针对某个事务和别的事务交互 2.无论是数据库还是操作系统的程序,都应该是锁的粒度越大,它的开销就越大,并发度就越小。因为它会锁更多的资源 3.应该是`决定`而非`决定于` --- notes/数据库系统原理.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/notes/数据库系统原理.md b/notes/数据库系统原理.md index d4e9586e..baa6db13 100644 --- a/notes/数据库系统原理.md +++ b/notes/数据库系统原理.md @@ -88,11 +88,11 @@ T1 读入某个数据,T2 对该数据做了修改,如 ## 未提交读(READ UNCOMMITTED) -一个事务可以读取自己的未提交数据,也被称为脏读。 +一个事务可以读取其它事务的未提交数据,也被称为脏读。 ## 提交读(READ COMMITTED) -一个事务可以读取自己的已提交数据,但是该数据可能过后就会被其它事务改变,因此也称为不可重复读。 +一个事务可以读取其它事务的已提交数据,但是该数据可能过后就会被其它事务改变,因此也称为不可重复读。 ## 可重复读(REPEATABLE READ) @@ -118,7 +118,7 @@ T1 读入某个数据,T2 对该数据做了修改,如 粒度可以是整个数据库,也可以是表,行,或者分量。 -粒度越小,开销越大。 +粒度越大,开销越大。 # 封锁协议 @@ -179,7 +179,7 @@ MySQL InnoDB 采用的是两阶段锁协议。在事务执行过程中,随时 # 范式 -记 A->B 表示 A 函数决定于 B,也可以说 B 函数依赖于 A。 +记 A->B 表示 A 函数决定 B,也可以说 B 函数依赖于 A。 如果 {A1,A2,... ,An} 是关系的一个或多个属性的集合,该集合决定了关系的其它所有属性并且是最小的,那么该集合就称为键码。 From 07b42a4e6336097b7264cc8d5b69b688d3df6375 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 11 Mar 2018 17:07:58 +0800 Subject: [PATCH 002/309] auto commit --- notes/Java 并发.md | 5 +++++ notes/面向对象思想.md | 38 -------------------------------------- 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/notes/Java 并发.md b/notes/Java 并发.md index 751cbd04..1dfe2015 100644 --- a/notes/Java 并发.md +++ b/notes/Java 并发.md @@ -19,6 +19,7 @@ * [结束线程](#结束线程) * [1. 阻塞](#1-阻塞) * [2. 中断](#2-中断) +* [Java 并发工具包](#java-并发工具包) * [线程状态转换](#线程状态转换) * [内存模型](#内存模型) * [1. 硬件的效率与一致性](#1-硬件的效率与一致性) @@ -395,6 +396,10 @@ interrupt() 方法会设置中断状态,可以通过 interrupted() 方法来 interrupted() 方法在检查完中断状态之后会清除中断状态,这样做是为了确保一次中断操作只会产生一次影响。 +# Java 并发工具包 + +> [JDK 并发包 1](https://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/) + # 线程状态转换
bA!8VV%j8z8TzmeWEztOW>O=`Y*zs$?(_Y)1wyq?_r*qwb&?}j}kn=>Vk#?&p7
zY!QtCE@-qCKGlg*NKDV0$#(iEl?e2&t!^ChZ68l{;*_aqT*R6!
#U$$XzVS1GB{K
z?J=vn-a8)XH#<)JvQc0EV0Xd@XTc(x!hQh?&TJ?Tz8$eu3YsJAQXAs}zaSR`bFD`>
z3BmEWTqFprjc7x0f{IL4({)qxPiUPpzFxowtaJP;RXTt1&$!zGmgK*Yy%N*^Qmaq@
z_hO%e3(Z}*W^BE!VY>bBk`1bI?PFbfUT29#Lo+sQ
q47_*I~r22<
lV~7WVn}LCMb8`1>@-C6~({8Yt3j5^t
za4G}qn942JEPPV@)69Sd2Jo5`AS!6>yL1uPw#>b=Ow_f{IGV^o^4!z#O$X5O-mkAd
zI{AHBN^@NuZ5TC=ahYGVz;%WF3!tZ&xwie2=jEdOp8LqP8yhB~F>~X6df?dCB$GYW
z9;tUiua2K8zpGW(QB-Yv%{759fZh{at4zw8KkZ!tGXKc7-k>eU24Kdr`>UpFpa%W9
zQhL9)AlHSoIKpE3k*cw1NQB2=X36use|U90GaSUNaX?eXSXLSpGF=n52g|*>DuafB
zQL3+@0LG_2A^)ZH7XX}~
zLT!gv`vbxcXSTsU$#nRADABXuz_Hl%l}Jj4$0Jh*{tIB@9J-pAPl5ZWCbIn`axy$e
zZpGjy{TgqDH*csOtg}YPd!7jmBcQwgseFx2pI*BWAZ0bsJ>BVS?)BtTD0jaO()cte
zRHw9Kq1S=utCqcS$G7<;J5|}cieHLC^ydYznph!DAbb7bwJJbIvL}@zRzw+}JeGm@&u{+)zOjQW&_!
zIR`Y_RVJwjao}~W39j9&AhTi_WBHWlrh8Q@TX}A-5*U!XvA_UR