目录
-
BASE
-
反射
-
IDE
-
项目管理
-
框架
-
好用的第三方Jar包
-
面试
-
IO
-
Math
-
配置文件
-
集合
-
JDBC( MySql )
- 入门
- 事务
- 针对事务再封装
- 封装再优化与实际测试
- 操作Blob类型数据
- 用户登录模拟
- 加密与进制转换(复习:包装类与自动拆装箱)
- MD5:32
- SHA:40
- 10进制字符串转换为16进制字符串
-
Socket
- 执行cmd/shell指令
- TCP
- UDP
- 使用Socket实现FTP Server+Client
<一> 集合
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.常量)
<三> Socket篇
☞ 使用Socket实现FTP Server+Client
项目地址:https://github.com/Hirehop/Java_Ftp