TCP三次握手

什么是事务
概念:
事务一般特指数据库事务(Datebase Transaction),是指作为一个程序执行单元执行
的一系列操作,要么完全执行,要么完全不执行

事务的特性

原子性(atomicity)
一个事务是一个不可分割的工作单位.
一致性(consistency)
事务必须是使数据库从一个一致性状态变到另一个一致性状态
隔离性(isolation)
一个事务的执行不能被其他事务干扰.
持久性(durability)
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的.

当MyBatis运行开始时, 先要通过Resources加载核心配置文件, 之后使用XMLConfigBuilder对配置文件进行解析,
将解析结果封装为Configuration对象, 接着, 使用Configuration对象构建一个DefaultSqlSessionFactory对象,
至此, SqlSession工厂构建完成.

接下来, 通过工厂对象调用openSession方法创建SqlSession对象. 在这个过程中, 需要通过TransactionFactory生成Transaction对象,
并且, 还需要创建核心执行器Executor对象, 之后, 通过这些对象来创建DefaultSqlSession对象, 至此, SqlSession对象创建成功.
之后, 通过SqlSession对象执行相应的操作, 如果执行成功, 调用commit方法提交事务; 如果失败, 调用rollback方法事务回滚.
最后, 调用close方法关闭session资源. 以上, 就是MyBatis的运行原理.

说说TCP的三次握手

"握手"是为了建立连接,TCP三次握手的流程图如下:
在TCP/IP协议提供可靠的连接服务,采用三次握手建立一个连接.
第一次握手,建立连接连接时,客户端发生SYN包(syn=j)到服务器,并进入
SYN_SEND状态,等待服务器确认
第二次握手:服务器收到SYN包,必须确认客户的SYN(ack+ack),同时自己也发
也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包,ACK(ack=k+1),
此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.

TCP的四次挥手
"挥手"是为了终止连接,TCP四次挥手的流程图如下 TCP和UDP
TCP采用四次挥手来释放连接 结论:
第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入 面向连接vs 无连接
FIN_WAIT_1状态 可靠性
第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1 有序性
(与SYN相同,一个FIN占用一个序号)Server进入CLOSE_WAIT状态
速度
量级

第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server
进入LAST_ACK状态

第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK
给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手

TCP和UDP
结论:
面向连接vs 无连接
可靠性
有序性
速度
量级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值