- 博客(28)
- 收藏
- 关注
原创 网络-如果第一次握手旧的序列号先到怎么办?
这是因为TCP协议要求一个连接(由源IP、源端口、目标IP、目标端口四元组唯一标识)在任意时刻只能有一个活跃的状态。当服务端已经在处理一个SYN请求时,收到相同连接的新SYN,会被视为异常情况。所以它会回复Challenge ACK,使用之前记住的确认号91。由于服务端已经在SYN_RCVD状态,并且记住了之前的连接信息。客户端应该先等待之前的连接超时或显式发送RST关闭。它会认为这可能是一个重复的或者过期的SYN。记住了这个连接的状态(包括序列号90)或者使用不同的源端口发起新连接。
2025-03-10 10:58:15
202
原创 为什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之间的所有事务 ID
注意这个当前事务最大ID并不是ID列表的最后一个值,因为当前创建ReadView的时候,有的事务没提交,有的事务提交了。所以当我们遇见了在[min_trx_id,max_trx_id)之间的事务,我们得去判断它到底在不在m_ids里面。是 m_ids 中的最小值。若 m_ids 为空,则 min_trx_id 等于 max_trx_id。比如(1,3,5,6)没提交,他们就是m_ids。但是(2,4,7)提交了已经,最大ID是7。是系统即将分配给下一个事务的 ID,即当前最大事务 ID + 1。
2025-02-20 20:39:46
538
原创 为什么Runnable和FutureTask接口,多线程可以共享一个target对象
Runnable 接口本身并不直接涉及线程间的共享数据问题。它只是定义了一个 run() 方法,允许不同的线程执行相同的代码。你可以将一个实现了 Runnable 接口的对象传递给多个线程,多个线程就可以共享这个 Runnable 对象。在这个例子中,多个线程可以共享 MyRunnable 对象。每个线程都会调用 run() 方法,但每个线程操作的 counter 变量是该对象实例的一部分,因此不同线程之间会共享该对象的状态。
2025-01-15 21:39:16
902
原创 MySQL的关键字in和exist的区别
在MySQL中,IN 和 EXISTS 是两种用于查询子查询结果集的关键字,它们在功能上有一些相似之处,但工作原理和适用场景不同。
2024-11-20 14:43:08
299
1
原创 59.建图、链式前向星、拓扑排序
1,邻接矩阵(适合点的数量不多的图)2,邻接表(最常用的方式)3,链式前向星(空间要求严苛情况下使用。比赛必用,大厂笔试、面试不常用)
2024-08-23 18:02:10
798
原创 Mybatis快速入门
通过一个案例,快速入门Mybatis1,配置文件实现CRUD1.1 环境准备数据库表(tb_brand)及数据准备-- 删除tb_brand表drop table if exists tb_brand;-- 创建tb_brand表create table tb_brand( -- id 主键 id int primary key auto_increment, -- 品牌名称 brand_name varchar(20),
2023-10-25 22:20:23
102
1
原创 妆容迁移【Lipstick ain’t enough: Beyond Color Matching for In-the-Wild Makeup Transfer】--cvpr2021
化妆转移是将参考图像中的化妆风格应用到源脸上的任务。现有的作品只关注淡妆风格,忽视了图案等化妆组件。本文提出了一个整体化妆传输框架,可以处理颜色、形状、纹理和位置等所有化妆属性。本文还引入了一个新的化妆数据集,包含真实和合成的极端化妆样本。本文的框架在淡妆风格和极端妆容风格上都达到了最先进的性能。本文的代码可在获取。
2023-09-11 20:36:18
726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人