【复盘】tcp、java类加载、spring生命周期、索引类型

1. TCP 协议如何保证可靠传输

- 通过滑动窗口实现

发送端连续把窗口内的数据都发送出去,如果没有收到确认,就都进行暂时的保留,等到后沿的字节被确认接收到后,滑动窗口才会开始移动。

- 超时的重传时间

发送方如果在规定的时间内没有收到确认报文,就要重传已发送的报文段。

参考:https://zhuanlan.zhihu.com/p/492149728
(待补充)


2. Java类加载过程

- 加载(Loading)

将字节码数据从不同的数据源读取到 JVM 中,并映射为 JVM 认可的数据结构。

- 连接(Linking)

分为三个阶段:验证、准备、解析。
1 验证:JVM 核验字节信息是否符合 Java 虚拟机规范,防止恶意信息或者不合规信息;
2 准备:创建静态变量并初始化,分配所需要的内存空间;
3 解析:将常量池中的符号引用替换为直接引用。

- 初始化阶段(initialization)

执行类初始化的代码逻辑。

参考:https://www.jianshu.com/p/cc66138d72b1


3. Spring的生命周期

Bean的生命周期概括为4个阶段:

  • 实例化:实例化一个 bean 对象
  • 属性赋值:为 bean 设置相关属性和依赖
  • 初始化:前置处理,初始化方法和后置处理等
  • 销毁:先注册销毁的相关调用接口,如何进行销毁

参考:https://blog.csdn.net/weixin_39911567/article/details/111039200


4. 常见的索引类型

根据存储方式,分为:

  • FULLTEXT:全文索引,目前只有MyISAM引擎支持
  • HASH:可以一次定位,不需要逐层查找
  • BTREE:将索引值存入二叉树中
  • RTREE

根据索引的具体用途,分为:普通索引、唯一索引、主键索引、空间索引和全文索引

参考:https://www.cnblogs.com/winformasp/articles/12700814.htmlhttp://c.biancheng.net/view/7897.html


posted @ 2022-07-20 14:48  Swing292  阅读(34)  评论(0)    收藏  举报