目錄
<一> 集合篇
List
- LinkedList
阻塞隊列
JDK1.5開始出現:java.util.concurrent
- BlockingQueue(JDK1.5)
- BlockingDeque(JDK1.6)
Map
<二> JDBC篇
事務
- 特性(ACID)
At'o[...]'mi'ci'ty 原子性(要麼全部執行,要麼全部不執行)
Consistency 一致性(事務必須使得數據庫從一個一致性狀態轉換到另一個一致性狀態)
I[a:i]'so[se]'lation 隔離性(爲每個用戶創建隔離的事務)
Du'ra[re]'bility 持久性(事務一旦提交,對數據庫的修改就是永久性的)
durable:耐用的、持久的
- 數據庫開啓事務
start transaction
begin
- 提交:submit
- 回滾:rollback
2> 贓讀、不可重複讀、虛讀
1> 贓讀
一個事務讀取到了另一個事務未提交的數據
2> 一個事務被另一個事務打擾(當前線程讀取到了另外一個線程提交後的數據):
update:不可重複讀
insert:虛讀
3> 數據庫四種隔離(Isolation)級別
READ UNCOMMITTED
READ COMMITTED(Oracle默認)
REPEATABLE READ(MySql默認)
SERIALIZABLE(其他線程/事務都得等着)
4> MySql如何控制事務gelijibie
//查看
select @@tx_isolation;
//使用set臨時修改
set transaction isolation level [級別]
5> JDBC控制MySql事務級別
1> 四個常量(可以直接使用Connection獲取)
TRANSACTION_READ_UNCOMMITTED 1
TRANSACTION_READ_COMMITTED 2
TRANSACTION_REPEATABLE_READ 4
TRANSACTION_SERIALIZABLE 8
conn.setTransactionIsolation(Connection.常量)