摘要: 对称加密与非对称加密 : 简单地说,对称加密是利用 密钥 加密,然后用密钥解决,而非对称加密则分为公钥和私钥,一般用法是 利用公钥加密,利用私钥解密。或者利用私钥签名,利用公钥验证。 对于非对称加密而言,公钥是可以随便发放的。 利用公钥加密,利用私钥解密的使用场景 : 假如有个皇帝,他想要远方的大臣 阅读全文
posted @ 2021-02-01 16:53 Vizdl 阅读(1320) 评论(0) 推荐(0) 编辑
摘要: 使用场景 : 当系统需要与云平台进行对接时,常常会使用api鉴权对权限进行鉴定,我们使用的api鉴权方式即为aksk鉴权,简单而言就是通过签名验证是否具有权限。 假设 : AKSK鉴权并非该帖子的主题,先略过,假设目前组件与云平台都存在一个对称加密的密匙,且组件内提供了一些API给云平台进行调用。 阅读全文
posted @ 2021-01-31 11:39 Vizdl 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 声明 : 本文仅代表个人理解,如若有错误的地方,欢迎留言指正,感谢观看。 进程简述 : 进程是处于执行期的程序以及相关资源的总称,是管理资源的最小单位。 线程简述 : 线程是进程中活动的对象,是调度的最小单位。每个线程都拥有一个独立的程序计数器,栈,和寄存器状态组。 对于 Linux 内核实现而言, 阅读全文
posted @ 2021-01-30 22:33 Vizdl 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 快速排序 : 原理 : 1) 只有一个元素的数组是有序的数组。 2) 荷兰国旗问题。 步骤 : 1) 只有一个元素的数组是有序的数组。 2) 在待排序数组中随机抽的一个数字,并利用该数字将数组分为 大于特定数,等于特定数,小于特定数 三个区域。 3) 对 大于特定数,小于特定数 两个区域进行快速排序 阅读全文
posted @ 2021-01-30 17:35 Vizdl 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 当需要返回的值为局部变量的时候 : 例如 : class test{ public : int a; double b; int arr[200]; }; // Type your code here, or load an example. test square() { test t; retu 阅读全文
posted @ 2021-01-16 21:42 Vizdl 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 首先,变量名在编译成汇编语言的时候,会被翻译成地址。 例如 : 1 void square() { 2 int var = 0; 3 } 会被翻译成 : 1 square(): 2 push rbp 3 mov rbp, rsp 4 mov DWORD PTR [rbp-4], 0 5 nop 6 阅读全文
posted @ 2020-09-21 21:38 Vizdl 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 条件变量一般而言,会有一个布尔表达式作为唤醒的条件。调用wait的线程需要读取这个布尔表达式内数据, 同样,调用signal的线程需要修改这个布尔表达式的数据,让表达式为真。故而这两个线程必然访问至少一个公共变量。 于是需要mutex来保护这个公共变量。这也就解释了为何条件变量与mutex共存的原因 阅读全文
posted @ 2020-04-13 17:29 Vizdl 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 内核采用 struct page 来表示一个物理页,在其中记载了诸多物理页的属性,比如 物理页被几个线程使用(如若没有则表示该页可以释放),页对应的虚拟地址。 首先需要知道的是,分配物理页可以分为两个步骤 : 1) 寻找内核中空闲 处于3-4G 4K对齐的虚拟地址。 i)虚拟页是否空闲 由页表项的属 阅读全文
posted @ 2020-02-28 16:05 Vizdl 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 二叉树的后序遍历递归定义 : 1) 当前节点为空(null)直接返回 2) 对于非空节点 i) 后序遍历左子树 ii) 后序遍历右子树 iii) 操作当前节点 二叉树的非递归遍历方法 : 使用栈来进行遍历。 策略简述 : 利用两层循环嵌套(但时间复杂度仍然是O(N)),策略注释在代码中。 1 cla 阅读全文
posted @ 2020-02-09 20:31 Vizdl 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 二叉树的中序遍历递归定义 : 1) 当前节点为空(null)直接返回 2) 对于非空节点 i) 中序遍历左子树 ii) 操作当前节点 iii) 中序遍历右子树 二叉树的非递归遍历方法 : 使用栈来进行遍历。 策略简述 : 利用栈和循环,每次循环的输入变量node都必须为当前要遍历的树的根节点。也就是 阅读全文
posted @ 2020-02-09 16:58 Vizdl 阅读(743) 评论(0) 推荐(0) 编辑