【复盘】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.html 和 http://c.biancheng.net/view/7897.html

浙公网安备 33010602011771号