2-3-4树
# 定义 2-3-4 树是多路搜索树;4 阶的 B 树;所有结点有序 是一棵自平衡树;每个叶子结点的深度一样、完美平衡。 叶子结点除外,内部结点只能是:2 结点、3 结点、4 结点 # 结点类型 2 结点:1 个元素,2 个子结点 3 结点:2 个元素,3 个子结点 4 结点:3 个元素,4 个子结点 # 插入 插入操作都是在叶子结点进行合并或分裂。 # 插入情形 2 - 结点、3 - 结点:直接合并(nodeMerge) 4 - 结点:分裂(nodeSplit) a. 4 - 结点先分裂,插入结点再和左、右子结点合并 b. 分裂后的结点继续向上合并或再分裂 # 代码实现 #...
more...二叉搜索树(Binary Search Tree)
# 定义 是一棵二叉树;每个结点都有一个可比较的键,以及关联的值。 任何结点中的键大于该结点左子树中所有结点中的键,且小于该结点右子树中所有结点的键(有序性) # 遍历 主要讨论的是深度遍历,根据根结点的访问优先级,又可以分为:前(先)、中、后序遍历。 获取结点的前驱后继时,需要用到这部分知识点,而且平衡树的调整操作中也涉及到。 # 前序遍历 前(先)序遍历(Pre-Order Traversal):先根结点,再左右子树。 # 中序遍历 中序遍历(In-Order Traversal):先左子树,再根结点,最后右子树。 # 后序遍历 后序遍历(Post-Order...
more...SHA256 [RFC-4634]
# 基础 输入最大消息长度:2642^{64}264 bits 输出:256 bits 大端 (Big endian) 为主 word = 32 bits; block = 512 bit, 16 words; # 位操作符号 w = length of word. SHR 右移 ROTR 循环右移 ROTL 循环左移 SHR^n(x) = x>>nROTR^n(x) = (x>>n) OR (x<<(w-n))ROTL^n(x) = (x<<n) OR (x>>(w-n))ROTL^n(x)...
more...Java 7 Concurrency Cookbook
# 线程的管理 # 线程的创建和运行 继承 Thread,重写 run 方法并执行 start 方法。 实现 Runnable 接口的 run 方法,并传递给 Thread 实例并执行 start 方法。 // File1: 继承 Threadpublic class MyThread1 extends Thread { @Override public void run() { // do something! } public static void main(String[] args) { new...
more...自动内存管理机制
# 运行时数据区域 # 程序计数器 是一块较小的内存空间,当前线程所执行的字节码的行号指示器。 仅概念模型,各 JVM 实现不一样。 字节码解释器读/写该计数器。 各线程独立储存计数器,称 “线程私有” 内存。 线程正执行 Java 方法,计数器记录的是正在执行的虚拟机字节码指令地址。 线程正执行 Native 方法,计数器值为空(Undefined); 此内存区域是唯一一个在 Java 虚拟机规范中未规定任何 OutOfMemoryError 情况的区域。 # Java 虚拟机栈 是 Java 方法执行的内存模型;每个方法在执行的同时都创建一个栈帧(Stack...
more...网络是怎样连接的-其二
# 电信号传输 TCP/IP 数据 # 协议栈 TCP、UDP、ICMP IP、ARP 一般来说,浏览器、邮件等应用程序使用 TCP 协议;DNS 查询这种收发较短的控制数据的时候则使用 UDP。 ICMP 用于告知网络包传送过程中产生的错误和各种控制信息 ARP 用于根据 IP 地址查询 MAC 地址 # 套接字的实体 套接字是抽象概念,那它的实体代表什么呢? 在协议栈内部,有一块存放控制信息的内存空间,记录了用于通信操作的控制信息。例如:对象的 IP 地址、端口号、通信操作的进行状态等。 # 查看套接字信息 Windows 下: netstat -anoProto Local...
more...网络是怎样连接的-其一
# 浏览器访问资源 # URL 统一资源定位符(Uniform Resource Locator) # 格式 # HTTP 协议 http://user:password@www.example.com:80/dir/file1.htm 协议 用户名、密码,可省略 web 服务器域名 端口,可省略 文件路径名 # FTP 协议 ftp://user:password@ftp.example.com:21/dir/file1.htm 协议 用户名、密码,可省略 FTP 服务器域名 端口,可省略 文件路径名 #...
more...Feign原理简述
# Feign 原理简述 @EnableFeignClients 开启扫描,扫描包下的所有 @FeignClient,然后注入到 IOC 容器中。 调用 feign 接口,通过 JDK 动态代理生成 RequestTemplate。 RequestTemplate 是模版,包含请求所有信息,然后生成 Request,Request 交给 client 处理,client 默认是 JDK 的 HTTPUrlConnection,也可以是 OKHttp、Apache 的 HTTPClient 等。 client 封装成 LoadBalanceClient,结合 ribbon...
more...







