- 博客(15)
- 收藏
- 关注
原创 TCP流量控制+拥塞控制
TCP流量控制 为了提高信道利用率,TCP采用连续ARQ协议。发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。 实现方法:通过滑动窗口实现 TCP的两端都维持一个发送/接收缓存和接收/发送窗口。TCP的缓存是一个循环队列,其中发送窗口可以用3个指针表示。而发送窗口的大小受TCP数据报中窗口大小值的影响,TCP数据报中的窗口大小是接收端通知发送端其还可以接收多少数
2022-04-09 11:27:05
2712
原创 尚硅谷java笔记——Map
Map的实现类的结构: |----Map:双列数据,存储key-value对的数据 |----HashMap:作为Map的主要实现类;线程不安全的,效率高;存储null的key和value。 |----LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。 原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素。
2022-04-07 09:50:18
320
原创 MYSQL中收缩表空间的方法
删除整个表 参数 innodb_file_per_table 表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数innodb_file_per_table控制的: 这个参数设置为OFF表示表的数据放在系统共享表空间,也就是跟数据字典放在一起; 这个参数设置为ON表示的是,每个InnoDB表数据存储在一个以 .ibd为后缀的文件中。 一个表单独存储为一个文件更容易管理,而且在你不需要这个表的时候,通过drop table命令,系统就会直接删除这个文件。而如果是放在共享表空间中,即使表.
2022-04-06 09:49:56
2013
原创 Redis事务
Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务相关指令:Multi、Exec、discard 从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard来放弃组队。 组队中某个命令出现了报告错误,执行时整个的所有队列都会被取消。 如果执行阶段某个命令报出了错误,则只有报错的命令不会被执行
2022-04-05 21:39:23
165
原创 MYSQL索引
索引的常见模型 哈希表:因其无序性,哈希索引做区间查询的速度很慢。因此哈希表适用于只有等值查询的场景(e.g. Memcached及其他一些NoSQL引擎) 有序数组:在等值查询和范围查询场景中的性能就都非常优秀,缺点:有序数组索引只适用于静态存储引擎,更新数据的成本太高(因为需要挪动插入/删除记录之后的所有数据) 搜索树:二叉搜索树索引为了维持O(log(N))的查询复杂度,需要保持这棵树是平衡二叉树。为了做这个保证,更新的时间复杂度也是O(log(N))。 注:实际上大多数数据库存储不使用二叉树
2022-04-01 11:00:32
1210
原创 MYSQL 事务隔离性
事务就是要保证一组数据库操作,要么全部成功,要么全部失败。 事务隔离级别:读未提交(read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(serializable ) MVCC:多版本并发控制 事务隔离的实现:通过回滚实现 每条记录更新的时候都会同时记录一条回滚操作。记录上的最新值通过回滚操作可以得到前一个状态的值。 ...
2022-03-30 20:18:22
659
原创 SQL更新语句的执行流程
连接器-->分析器-->优化器-->执行器 更新流程还涉及两个重要的日志模块:redo log(重做日志)、binlog(归档日志) redo log(InnoDB 特有的日志) WAL技术:Write-Ahead Logging,先写日志,再写磁盘。即:当有一条记录需要更新的时候,InnoDB引擎就会先把记录写到redo log里更新内存,这个时候更新就算完成了。InnoDB引擎会在适当的时候(e.g.系统比较空闲的时候),将这个操作记录更新到磁盘里面(刷脏页)。 优点:保证即使
2022-03-30 16:13:07
1028
原创 计算机网络
电路交换: 优点:通信时延小,有序传输,没有冲突,实时性强 缺点:建立连接时间长,线路独占使用效率低,灵活性差,没有差错控制能力 报文交换 优点:不需要建立连接;存储转发,动态分配线路;线路可靠性较高;线路利用率高;多目标服务 缺点:有存储转发时延;报文大小不定,需要网络节点有较大缓存空间 分组交换: 数据报的交换方式:为网络层提供无连接服务 虚电路的交换方式:为网络层提供连接服务 将报文切割成分组再转发 优点:无需建立连接;存储转发,动态分配线路;线路可靠性较高(分组较短,出错少);
2022-03-29 16:57:19
2379
原创 计算机网络分层
应用层:提供两个终端设备上的应用程序之间信息交换的服务 应用层定义了信息交换的格式,消息会交给下一层传输层来传输。我们把应用层交互的数据单元称为报文。 应用层协议定义了网络通信规则,对于不同的网络应用需要不同的应用层协议。(HTTP,SMTP,POP3,IMAP,FTP,TFTP,DNS,SSH,Telnet,DHCP...) 传输层:负责向两台终端设备进程之间的通信提供通用的数据传输服务 把运输层产生的报文段或用户数据报封装成分组和包进行传送 传输控制协议 TCP(Transmisson Co..
2022-03-29 15:37:54
3467
原创 尚硅谷Java自学笔记——Collection之Set
Set接口的框架: |----Collection接口:单列集合,用来存储一个一个的对象 |----Set接口:存储无序的、不可重复的数据 |----HashSet:作为Set接口的主要实现类;底层是HashMap,线程不安全的;可以存储null值 |----LinkedHashSet:作为HashSet的子类;遍历其内部数据时,可以按照添加的顺序遍历 |----TreeSet:底层使...
2022-03-26 22:16:45
171
原创 自学Java第一天
if-else 语法: 结构一: if(条件表达式){ 执行表达式; } 结构二: if(条件表达式){ 执行表达式1; }else{ 执行表达式2; } 结构三: if(条件表达式){ 执行表达式1; }else if(条件表达式){ 执行表达式2; }else if(条件表达式){ 执行表达式3; } ... else{ 执行表达式n; } 练习1: 岳小鹏参加Java考试,他和父亲岳不群达成承诺: 如果: 成绩为100分时,奖励...
2021-10-24 19:23:47
162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅