- 博客(4)
- 收藏
- 关注
原创 TCP原理
A主机向B主机发送了一个消息,因为网络的原因,B主机没有收到A主机发送的消息,A主机等待一段时间后没有收到B主机发送的ACK就会重新发送一遍刚才发的消息,还有一种情况是B主机收到了发送的消息,但是返回的ACK在传送的过程中丢包了,这时候B主机就会收到重复的消息,这时候有一个缓冲区专门存放所发送的数据,缓冲区会根据数据的序号,来判断是否重复接收消息了并只保留不重复的数据。中途SYN与ACK是可以合并到一起来发送的,因为他们两个发送的间隔非常短,服务器会把他们两个放在一起这样可以节省资源的开支。
2023-06-08 21:20:08
297
1
原创 多线程基础
不可重入指的是,一个线程被加了两把锁,第二把锁进入阻塞状态,但是需要第一把锁释放了之后,第二把锁才能进行加锁操作,但又需要线程来进行解锁,这时候线程就躺平了从而出现死锁状态。加锁操作指的是A和B同时追一个女生,A追到这个女生后A就对这个女生加了一个锁,B就无法再追这个女生了需要进入等待状态,等他们俩分手了B才能继续追这个女生。刷新内存:就是A、B、C三个进程,A先加锁,B、C后面也尝试加锁进入阻塞状态,A释放锁后,B与C之间并不遵循先来后到原则,而是抢占式的,谁先抢到谁先加锁。
2023-06-05 10:45:20
39
1
原创 Mysql的索引
4.正是因为叶子节点,是完整的数据集合,只在叶子节点中储存数据表中的每一行数据,只需在非叶子节点中存储key值即可.减少了内存开支,非叶子节点也可能在缓存中,进一步减少了IO次数.索引存在的意义主要是为了提高查询的效率,参考一本书,书有目录这样想找自己想要的内容翻看目录就快了许多,没有目录就需要一页一页的找.有了索引虽然提高了查询的效率但是降低了增删改的效率,一本书每次修改内容就需要修改目录这就变得很麻烦.并且索引也消耗了更多的空间.~~在插入新的数据的时候,既要改变硬盘上新的数据,又要调整索引.
2023-05-27 20:50:58
64
1
原创 Mysql事务
A事务在修改数据,提交之前,B事务读取了数据,此时A事务提交的时候可能提交的是不同的数据(A修改了数据),这时B读取就是脏数据指的是无效的数据.事务的根本所在(事务存在的意义),能把多个SQL语句打包成一个整体,要么都执行完,要么一个都不执行.(如果执行的过程中出错误,则自动回滚).两个同学商量,A同学在读取的时候,B同学不能对数据进行修改,A同学读完了B同学才能修改数据,这就加了一个锁,称为读锁.A同学在进行读取的时候,B同学对数据进行了修改,A同学读着读着发现数据改变了.(1)原子性(最核心的性质)
2023-05-27 19:55:57
104
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人