会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
INnoVation-V2
首页
新随笔
管理
上一页
1
···
4
5
6
7
8
9
10
11
12
···
25
下一页
2023年8月30日
策略模式
摘要: # 策略模式 ## 1. 简介 策略模式`(Strategy Pattern)`允许在运行时选择算法或行为,从一组算法中选择一个合适的实现。这种模式使得算法的变化可以独立于使用算法的客户端。 策略模式的核心思想是将不同的算法封装成各自的`策略类`,然后在一个`上下文类`中维护一个策略接口的实例,根据
阅读全文
posted @ 2023-08-30 15:11 INnoVation-V2
阅读(99)
评论(0)
推荐(0)
2023年8月29日
Varint编码
摘要: # 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)
W-TinyLru
摘要: # 一、LRU 每次淘汰最久未访问的那个元素 用双向链表 + hash实现 ## 1.1 流程 ### 插入 直接插入到队头 ### 查找 通过hash找到对应元素,然后将这个元素调整到队头 ### 淘汰 队尾元素(队头的前一个)就是最久未访问的那个元素,直接淘汰 ## 1.2 实现 https:/
阅读全文
posted @ 2023-08-29 14:49 INnoVation-V2
阅读(196)
评论(0)
推荐(0)
2023年8月24日
快速求比某个数大的2的幂值
摘要: ### 分析 比如 ``` 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)
2023年8月22日
布隆过滤器原理及实现
摘要: 1. 原理 布隆过滤器拥有K个哈希函数,当一个元素要加入布隆过滤器时,会使用K个哈希函数对其进行计算,得到K个哈希值,然后根据哈希值,在一维数组中把其对应下标的值置位1。 要判断某个数是否在布隆过滤器中,就进行K次哈希计算,得到哈希值,然后在位数组中判断哈希值对应位置是否都为1,如果都为1,就说明这
阅读全文
posted @ 2023-08-22 19:50 INnoVation-V2
阅读(191)
评论(0)
推荐(0)
2023年8月1日
IO模型
摘要: ## 1.同步和异步 > 同步和异步指的是两个函数之间的关系 **同步**:A调用B,A必须得到B返回的结果才能干其它事。 **异步**:A调用B,同时提供给B一个函数,即回调函数,此时A没有得到任何结果继续执行,B在执行完成后,调用A提供的函数告知A。 定义:和同步相对,发出异步调用后,调用者在没
阅读全文
posted @ 2023-08-01 17:54 INnoVation-V2
阅读(19)
评论(0)
推荐(0)
2023年7月25日
内存对齐
摘要: 一、内存对齐 1.字长 计算机字长指的是CPU一次(一个时钟周期)能处理的最大长度,一般来说有如下属性 计算机字长 = 寄存器大小 = 数据总线宽度 = 地址长度 = 机器位数 计算机按次从内存读出数据,字长就是计算机每次从内存读出的数据长度,以字节为单位。 2.内存对齐的好处 假设字长为4B,如果
阅读全文
posted @ 2023-07-25 14:00 INnoVation-V2
阅读(316)
评论(0)
推荐(0)
2023年7月8日
Trino简介
摘要: > 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)
2023年7月6日
协程
摘要: ```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)
2023年6月30日
gdb简单使用
摘要: ## 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
下一页
公告