算法 安全性 原理ripemd
第十三篇 DOM 补充 - 虚拟DOM 、 diff 算法 及 其他
by caix in 深圳 虚拟 DOM ( Virtual DOM ) 什么是 虚拟 DOM ( Virtual DOM ) 虚拟DOM 是⽤ JavaScript 对象 表示的 DOM 信息和结构;当 DOM 更新后 通过 diff 算法 使之与真实 dom 保持同步 虚拟DOM 是一个 Jav ......
2023-04-05-串的简单模式匹配(BF算法)
//串的简单模式匹配(BF算法) #include <stdio.h> #define MAXSIZE 30 typedef struct { char ch[MAXSIZE]; int length; }SString; int SString_BFindex(SString S,SString ......
软考笔记(9)--计算机组成原理2--指令系统
前言 CPU就是一个执行各种计算机指令的逻辑机器,计算机指令也叫做机器语言。不同CPU支持的语言可能不同,比如Inter的CPU和苹果手机ARM的CPU就支持不同的指令,每个CPU能支持的指令组合在一起就是计算机指令集。 指令是计算机执行操作的命令,计算机的所有指令集合构成计算机的指令系统,指令系统 ......
缺页中断算法
页面置换算法 进程运行过程中,如果发生缺页中断,而此时内存中有没有空闲的物理块时,为了能够把所缺的页面装入内存,系统必须从内存中选择一页调出到磁盘的对换区。但此时应该把哪个页面换出,则需要根据一定的页面置换算法(Page Replacement Algorithm)来确定。 2.OPT( 最佳⻚⾯置 ......
Redis持久化RDB和AOF原理解析、使用和优缺点对比
前言 本文讲述 Redis 两种持久化方式 RDB 和 AOF 优缺点以及原理。 为何需要持久化? Redis 是基于内存操作的,进程终止、服务器宕机后内存数据会丢失,但是在很多使用场景中我们希望数据不丢失,服务重启之后数据还能恢复到停机前的状态,特别是使用 Redis 做数据库的情况。 Redis ......
Redis布隆过滤器的原理和安装使用
前言 本文讲述布隆过滤器 (RedisBloom) 的基本原理和安装使用。 RedisBloom是什么? RedisBloom 是 Redis 中过滤器模块,可以用来判断值是否存在,常用来解决缓存穿透问题。 查询数据时,先用 RedisBloom 判断数据是否存在,不存在则直接返回,存在则从缓存 / ......
Kafka原理解析
前言 从整体浅析Kafka集群结构、和Zookeeper之间的关系、长轮询机制、消息生产和消费以及顺序消费等。 名词解释 Broker(Kafka服务) Controller(唯一充当控制器的Kafka服务) Topic(消息主题,一个主题包含多个) Partition(消息分区),Replica( ......
【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)
承接上文 承接之前的【精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南】,让我们基本上已经知道了「时间轮算法」原理和核心算法机制,接下来我们需要面向于实战开发以及落地角度进行分析如何实现时间轮的算法机制体系。 前言回 ......
GPIO原理与寄存器
GPIO的工作方式 输入 浮空输入模式 输出缓冲器被禁止,施密特触发输入被激活,不接上拉和下拉电阻,出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器。 上拉输入模式 输出缓冲器被禁止,施密特触发输入被激活,上拉电阻接通,不接下拉电阻,当I/O引脚无输入信号时,读取到的数据为1,即高电平 ......
接口安全处理
一、为什么要保证接口安全 在我们日常开发中,存在一些接口是敏感且重要的,比如充值接口,如果在你调用充值接口的时候被别人抓包了,然后就可以修改充值的金额,本来充值10元可以改成充值10w,产生重大生产问题,再或者说被被人抓包了,别人可以不限制的调用该充值10元的接口,调用几万次,也是会导致重大问题,那 ......
ThreadLocal原理
一、什么是ThreadLocal ThreadLocal是线程内的局部变量,仅在线程的生命周期内起作用。变量值在线程间不可见。 二、ThreadLocal的使用 ThreadLocal使用详情如下: 1 import java.util.concurrent.CountDownLatch; 2 3 ......
聚类算法
1.概念 聚类 -> 无监督学习(无分类、分组信息) 实现 -> 距离、相似性系数 目的 -> 数据预处理 -> 复杂数据结构(多维) -> 标准化 发现数据之间的依赖关系,删除或合并有密切依赖关系的数据 2.分类 1.基于划分的聚类方法 自顶向下 概念:n个元素组成的数据集D, 将数据分成k(k ......
算法之回溯算法
回溯法 含义:类似枚举,一层一层往下递归寻找答案,尝试搜索答案,如果找到了答案,则返回答案,并且寻找其他可能的答案。如果没找到,则像上一层递归寻找可能的答案。 回溯算法也是递归算法的一种。 为什么要回溯呢?或者说为什么用到回溯算法呢? 因为我们不是要找到一个排列就好了,而是需要找出所有满足条件的排列 ......
10静态路由原理及配置
1.路由: 从源主机到目标主机的转发过程 (路由器就是能够将数据包转发到正确的目的地,并在转发的过程中选择最佳路径的设备就是路由器) 2.根据路由表转发数据 1网段要给4网段发送消息:主机1的数据首先到路由器A这里,路由器A 这里首先会查询路由器表,查看自己的路由表中数据发送到4网段数据需要出来的接 ......
(第六篇)__iter__、__next__及for循环执行原理(可迭代对象、迭代器、生成器)
摘要:只要有__iter__,那么这个对象就是可迭代对象,若对象有__iter__和__next__两种方法,则这个对象为迭代器对象。 一、概念 什么是迭代? 迭代就是重复,但是每一次重复都与上一次有关联,这就是迭代。 """ 这不是迭代,这是简单的重复 """ while True: print( ......
BM 算法学习笔记
$\text{Berlekamp-Massey}$ 算法 模板题 考虑维护这个序列 $a$ 前缀的递推序列 $f$。 不妨假设当前考虑到 $a_1,a_2,a_3\dots a_n$,当前的递推序列为 $f_1,f_2,f_3\dots f_m$,那么接下来分为两种情况: $a_n= \sum {i ......
算法思想
$\mathcal{Part}$ 1. 前提提要 注意:本文为提高组难度的算法思想,主要为前缀和,差分等优化 因为是思想,讲的会比较玄乎,能理解就好 $\mathcal{Part}$ 2. 双指针 双指针通常解决区间问题 步骤是,确定一个右节点或左节点作为一个参考点,通常取右节点,记为 $j$ 我们 ......
BM 算法学习笔记
$\text{Berlekamp-Massey}$ 算法 模板题 考虑维护这个序列 $a$ 前缀的递推序列 $f$。 不妨假设当前考虑到 $a_1,a_2,a_3\dots a_n$,当前的递推序列为 $f_1,f_2,f_3\dots f_m$,那么接下来分为两种情况: $a_n= \sum {i ......
new操作符的原理
首先这里是一个构造函数: function Fun(age,name){ this.age=age this.name=name } 这个是创建的函数: function create(fn,...args){ 1.创建了一个空对象 var obj = {} 2.将空对象的原型指向构造函数的对象 O ......
自动驾驶-预瞄-Pure pursuit纯跟踪算法-MATLAB实现
有空把引入、逻辑、原理介绍给写了,目前先给大家看看代码。 将来写大概会分成这么几块: 汽车运动学自行车模型 跟踪算法主流模型及特点 纯跟踪算法原理推导 代码介绍 代码原创,来之不易,请勿不注明转载。 喜欢点个赞吧!网上许多代码都跑不起来hh clc; clear; % form road cx = ......
golang pprof 监控系列(3) —— memory,block,mutex 统计原理
golang pprof 监控系列(3) —— memory,block,mutex 统计原理 大家好,我是蓝胖子。 在上一篇文章 golang pprof监控系列(2) —— memory,block,mutex 使用里我讲解了这3种性能指标如何在程序中暴露以及各自监控的范围。也有提到memory ......
由数据范围反推算法复杂度以及算法内容
由数据范围反推算法复杂度以及算法内容 1、一般ACM或者笔试题的时间限制是1秒或2秒。 C++里面如果题目的时间限制是1s的话,这个1s是指每一个测试数据都有1s的时间限制,如果一个题有十几个测试数据,每一个测试数据都有1s的实现,正常比赛的话,比如蓝桥杯比赛的话,如果有10个测试数据,时间限制是1 ......
AcWing算法提高课-1.1.1摘花生
题目描述 Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。 Hello Kitty只能向东或向南走,不能向西或向北走。 ......
STAB算法
SATB算法思想简介 SATB算法的基本思想,可以概括为如下三句话: 并发标记之前先给Region内存打个快照,标记线程基于这个快照独立进行标记。应用线程不会直接修改这个快照中的对象,也就是说应用线程不会干扰标记线程的工作。 应用线程新分配的对象都认为是活跃对象,实际在下一个并发标记周期进行标记。 ......
JVM的垃圾收集算法
介绍分代收集理论和几种垃圾收集算法的思想及其发展过程。 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了 “分代收集”(Generational Collection)的理论进行设计,分代收集名为理论,实质是一套符合大多数程序运行实际情况的经验法则,分代收集理论它建立在两个分代假说之上: 弱 ......
笔记1. O(NlogN)的排序算法
准备工作 打印数组 void PrintfNums(int *nums, int numsSize) { for (int i = 0; i < numsSize; i++) { printf("%d ", nums[i]); } printf("\n"); } 交换元素 void Swap(int ......
m基于多核学习支持向量机MKLSVM的数据预测分类算法matlab仿真
1.算法描述 20世纪60年代Vapnik等人提出了统计学习理论。基于该理论,于90年代给出了一种新的学习方法——支持向量机。该方法显著优点为根据结构风险最小化归纳准则,有效地避免了过学习、维数灾难和局部极小等传统机器学习中存在的弊端,且在小样本情况下仍然具有良好的泛化能力,从而该算法受到了广泛的关 ......
欧几里得算法与更相减损法复习
(1)欧几里得算法(辗转相除法),用于求两个整数的最大公因数 解释: 两个整数 a 和 b,假如a = b * x + y a 和 b 的最大公因数是 d, 那么 a % d == 0,b % d == 0,也有 (b * x + y) % d == 0 ∴ y % d == 0 即 a 和 b 的 ......