摘要:
在TCP的11种状态变迁中,我们需要用到TCP头部的三个标志位: 1.SYN,SYN=1表示这是一个连接请求报文或者连接接受报文 2.ACK,ACK=1,表示确认号生效 3.FIN,FIN=1表示发送方数据已经发送完毕,并要求释放连接 11种状态 CLOSED状态: 初始状态,表示TCP连接是“关闭 阅读全文
摘要:
在TCP的11种状态变迁中,我们需要用到TCP头部的三个标志位: 1.SYN,SYN=1表示这是一个连接请求报文或者连接接受报文 2.ACK,ACK=1,表示确认号生效 3.FIN,FIN=1表示发送方数据已经发送完毕,并要求释放连接 11种状态 CLOSED状态: 初始状态,表示TCP连接是“关闭 阅读全文
摘要:
1. B+树的数据都集中在叶子节点。分支节点只负责索引。B树的分支节点也有数据。B+树的层高会小于B树,平均的Io次数会远小于B树 2. B+树更擅长范围查询。存储在叶子节点中的数据是按顺序放置的双向链表。而B树范围查询只能中序遍历。 3. 索引节点没有数据。比较小。b树可以把索引完全加载至内存中。 阅读全文
摘要:
GC(垃圾回收)知识点总结 GC包含四部分知识点,分别关于回收对象的判断,回收垃圾的算法,垃圾的分代回收,以及垃圾回收器 一、回收对象 1. 引用计数法 python、go中使用 判断被引用的次数,次数归0时回收,但如果遇到A调用B,B调用A的情况时则失效 2. 可达性分析算法 java虚拟机中使用 阅读全文
摘要:
事务分为三个主要知识点,分别是基本属性,并发事务处理带来的问题,以及事务的隔离级别。 一、事务的基本属性 1. 原子性(Atomicity) 事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全不执行 2. 一致性(Consistent) 在事务开始和完成时,数据都必须保持一致状态,这意味着 阅读全文
摘要:
所谓的哈希冲突就是指当两个不同的值对应同一个哈希映射时的处理。一共有三种方法。 一、拉链法 HashMap,HashSet其实都是采用的拉链法来解决哈希冲突的,就是在每个位桶实现的时候,我们采用链表(jdk1.8之后采用链表+红黑树)的数据结构来去存取发生哈希冲突的输入域的关键字(也就是被哈希函数映 阅读全文
摘要:
Java对象引用类型 强引用 软引用 弱引用 虚引用 强引用 根对象直接引用的对象就被称为强引用。 常见的根对象包括Universe相关对象,本地方法创建的全局对象,方法栈中的对象等等 软引用&弱引用 相同点 都是没有被根对象直接引用的对象;都可以和引用队列联合使用,当软/弱引用所引用的对象被垃圾回 阅读全文
摘要:
网络编程 网络编程解决的问题有两个: 第一个问题是如何准确的定位网络桑一台或多台主机:定位主机上的特定应用,这个问题通过IP地址和端口号来解决; 第二个问题是找到主机后如何可靠高效的进行数据传输,这个问题由各种传输协议解决,主要包括TCP和UDP协议。 1. IP和端口号 IP 在java中使用In 阅读全文
摘要:
图的最短路径&最小生成树的以点为中心思想的算法总结 在图的常见问题中,求最短路径和图的最小生成树问题最为常见。而关于这两种问题,有一种算法思想可以用几乎相同的代码解决两种不同的问题。 这种算法思想的基础基于点,分别对应了最短路径问题中的Dijkstra算法和最小生成树问题中的prim算法。 这种算法 阅读全文
摘要:
Java反射机制 一、概述 反射是被视为动态语言的关键,反射机制允许程序在执行期借助于反射API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通 阅读全文
摘要:
排序算法 一、算法核心思想分类 根据算法的核心思想,可以将十大排序算法分为两类: 1. 比较排序 常见的快速排序、归并排序、堆排序、冒泡排序等属于比较排序。 在排序的最终结果里,元素之间的次序依赖于它们之间的比较。每个数都必须和其他数进行比较,才能确定自己的位置。 2. 非比较排序 计数排序、基数排 阅读全文
|