Map
Map HashMap也是懒加载 红黑树特点 1.根节点为黑色,所有节点都是红色或者黑色 2.相邻节点不能为红色 3.从任意一个节点出发到叶子节点黑色节点数量相同 4.所有叶子节点都是黑色并且为nul…
List
List 扩容 ArrayList 在什么时候初始化底层数组:ArrayList 的底层数组是在 第一次添加元素时 初始化的,而不是在 ArrayList 对象创建时立即初始化。这种设计称为 懒加载(…
TCP
TCP如何保证传输的可靠性的 1.连接管理: 确保连接成功和释放成功 2.校验和: 对数据进行运算, 服务端也进行同样运算 3.序列号和确认号: 每次请求都会对应一个ack确认回应, ack=seq+…
HTTP
HTTP请求和响应的组成 1. 请求 1.1 请求行 POST + URL + HTTP版本 1.2 请求头 Host: 目标服务器 Content-Type: 请求格式 1.3 请求体 {} POS…
DNS解析过程
DNS解析过程 假如要访问www.gaosanjin.cn. 1.查询本地浏览器缓存 2.查询本机DNS服务器 3.本地DNS服务器向.服务器发送请求查询.cn的ip 4.本地DNS服务器向.cn服务…
TCP三次握手与四次挥手
为什么需要第三次握手 为了防止没有/垃圾的连接浪费TCP请求, 某一些被丢弃的请求可能也会建立TCP连接 为什么要四次挥手 因为服务端要等待资源传输完之后才能发送FIN, 所以要将ACK和FIN分开来…
RR隔离级别
有没有解决幻读 三种问题 脏读(读取到了未提交的事务,用MVCC中的快照读解决(RC)) 不可重复读(两次读取的同一条数据不一样,用RR解决) 幻读(读到了新增的数据,MVCC+间隙锁能解决大部分幻读…
二阶段提交
是什么 为了保证主从架构的数据一致性, 崩溃时redolog和binlog对事务的状态保持一致 规则 redo log 为“Prepared”,binlog 无记录:回滚。 redo log 为“Pr…