上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页
摘要: # 策略模式 ## 1. 简介 策略模式`(Strategy Pattern)`允许在运行时选择算法或行为,从一组算法中选择一个合适的实现。这种模式使得算法的变化可以独立于使用算法的客户端。 策略模式的核心思想是将不同的算法封装成各自的`策略类`,然后在一个`上下文类`中维护一个策略接口的实例,根据 阅读全文
posted @ 2023-08-30 15:11 INnoVation-V2 阅读(99) 评论(0) 推荐(0)
摘要: # Varint编码 ## 规则 1. 用7个比特位存储整数的值的部分,最高位(第8位)标识是否还有后续字节。 `0`表示是最后一个字节 `1`表示后面还有 2. 后续字节的每个字节的最高位都是1,其余7位存储整数的值的部分。 ## 案例 以32为int为例 1. 值:1 常规编码:`0000 00 阅读全文
posted @ 2023-08-29 23:22 INnoVation-V2 阅读(102) 评论(0) 推荐(0)
摘要: # 一、LRU 每次淘汰最久未访问的那个元素 用双向链表 + hash实现 ## 1.1 流程 ### 插入 直接插入到队头 ### 查找 通过hash找到对应元素,然后将这个元素调整到队头 ### 淘汰 队尾元素(队头的前一个)就是最久未访问的那个元素,直接淘汰 ## 1.2 实现 https:/ 阅读全文
posted @ 2023-08-29 14:49 INnoVation-V2 阅读(196) 评论(0) 推荐(0)
摘要: ### 分析 比如 ``` x = 1 res=2 x = 6 res=8 x = 31 res=32 x = 100 res=128 ``` 以100为例,它的二进制表示是 ``` 0110 0100 ``` 128的二进制是 ``` 1000 0000 ``` 不难看出以下结论 1. 2的幂次方 阅读全文
posted @ 2023-08-24 18:34 INnoVation-V2 阅读(84) 评论(0) 推荐(0)
摘要: 1. 原理 布隆过滤器拥有K个哈希函数,当一个元素要加入布隆过滤器时,会使用K个哈希函数对其进行计算,得到K个哈希值,然后根据哈希值,在一维数组中把其对应下标的值置位1。 要判断某个数是否在布隆过滤器中,就进行K次哈希计算,得到哈希值,然后在位数组中判断哈希值对应位置是否都为1,如果都为1,就说明这 阅读全文
posted @ 2023-08-22 19:50 INnoVation-V2 阅读(191) 评论(0) 推荐(0)
摘要: ## 1.同步和异步 > 同步和异步指的是两个函数之间的关系 **同步**:A调用B,A必须得到B返回的结果才能干其它事。 **异步**:A调用B,同时提供给B一个函数,即回调函数,此时A没有得到任何结果继续执行,B在执行完成后,调用A提供的函数告知A。 定义:和同步相对,发出异步调用后,调用者在没 阅读全文
posted @ 2023-08-01 17:54 INnoVation-V2 阅读(19) 评论(0) 推荐(0)
摘要: 一、内存对齐 1.字长 计算机字长指的是CPU一次(一个时钟周期)能处理的最大长度,一般来说有如下属性 计算机字长 = 寄存器大小 = 数据总线宽度 = 地址长度 = 机器位数 计算机按次从内存读出数据,字长就是计算机每次从内存读出的数据长度,以字节为单位。 2.内存对齐的好处 假设字长为4B,如果 阅读全文
posted @ 2023-07-25 14:00 INnoVation-V2 阅读(316) 评论(0) 推荐(0)
摘要: > Trono文档地址https://trino.io/docs/current/ # Trino # 一、简介 1. Trino是通过分布式查询,高效处理大量数据的工具。要处理TB或PB级别的数据,一般是使用能够与Hadoop和HDFS进行交互的工具。Trino的设计目标就是取代这些工具,如Hiv 阅读全文
posted @ 2023-07-08 15:27 INnoVation-V2 阅读(1005) 评论(0) 推荐(0)
摘要: ```c #include "co.h" #include #include #include enum state{ CREATED = 0, RUNNING, HALT, WAIT, FINISHED }; #define STACK_SIZE 4 * 1024 * 1024 * sizeof( 阅读全文
posted @ 2023-07-06 12:12 INnoVation-V2 阅读(25) 评论(0) 推荐(0)
摘要: ## gdb常见指令 ### 1.编译 假设文件名为hello.c ``` gcc -ggdb3 -Wall -o hello hello.c ``` - 调试,需要在编译时加上选项`-ggdb3`选项 - `-Wall`: 可以提示错误信息 ### 2.进入gdb ````c gdb hello 阅读全文
posted @ 2023-06-30 17:59 INnoVation-V2 阅读(76) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页