首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

多级的好处

每一页的大小为4kb,如果已经通过分段生成了线性地址空间,然后线性地址空间再去找分页的物理地址,比如说,找到了是第xxx页,在通过线性地址里的后12位的offset进行结合找到具体的物理地址,如果只使用了一个页,...如果是二级页,规则就会改变,让二级页对应到物理内存上的4KB大小的页,一级页此时变成映射为物理地址的4MB(这样子是无法定位到具体的页(4KB)的,所以二级页再去找),这样先找到一级页,一级页再和二级页进行结合...,二级页表相当于一级页4MB分成了1024个(1KB个)4KB,找完后二级页充当了offset的角色,此时定位到具体的4KB的页面,再用一级页的offset一结合定位到具体物理地址。...这样一个进程浪费掉的空间是一级页占用的:(4GB/4MB)*4byte=4KB,二级页浪费掉的是1kb(1个一级页占用这么多)*1kb(此时有1kb(4GB/4MB)个一级页)=4MB,加起来是...4MB+4KB,比光用一级页要多4KB,但是2级页是可以不存在的,比如此时程序只用了%20的页,那么4MB就需要乘以%20,这样一下子就比只有一级页时少了。

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

OA多级审批流程设计方案(干货满满)

然后再由相应的审批人逐级进行审批,当其中有一个不通过,则整个流程不通过,当所有的审批人全部通过才可通过 OK流程已经清楚了,接下来我们来进行结构的设计 只需要两张核心的审批即可,其他需要进行审批流的业务通过审批流编号...首先用户肯定是需要的,因为表单申请人和审核人都是关联的用户No,因为用户是根据部门走的,那么还需要设计一张部门,再设计一张用户和部门相关联的,把用户和部门联系起来,就可以从部门中选取相应角色。...有了用户和审批业务核心,接下来就可以根据公司业务需求,来设计相关的审批流程业务了,这里就拿加班申请来举个例子,当用户需要进行加班的时候,肯定是需要走审批流程的,那么再来设计一张加班申请 加班...填写完加班申请表单,选择部门相关负责审批人,如主管,部门经理,总经理,此时进行表单提交 提交需要进行的操作 录入当前审批业务,也就是加班申请的数据 审批流主表插入一条数据 审批流明细插入三条数据...此时可根据条件执行上面的第4,5,6条 审核不同意操作大致同上 OK,整个多级审批流程就实现完啦,如果你仔细看完此文,相信你一定会茅塞顿开 当然OA的审批业务远远不止这么一点,还有其他的表单审批,比如工作汇报审批

3.4K41

C++【哈希模拟实现】

,映射 至中对应的位置,实现存储,利用空间换时间,哈希的查找效率非常高,可以达到 O(1),哈希的实现主要分为两种:闭散列 与 开散列,本文中将利用这两种方案实现哈希 ---- ️正文 1、模拟实现哈希...传统写法思路:创建一个容量足够的 新,将 原 中的数据映射至 新 中,映射完成后,交换 新 和 原,目的是为了更新当前哈希对象中的 关于 平衡因子 的控制 根据别人的试验结果,哈希中的存储的有效数据量超过哈希容器的...闭散列)实战价值不大,因此只做简单了解即可,真正重点在于 开散列 ---- 2、模拟实现哈希(开散列) 哈希(开散列) 又称为 哈希桶 因为它的下面挂着一个 单链表,形似一个 桶 哈希(开散列)...,我们首先对其进行完善,然后直接利用一个 哈希桶 封装实现 unordered_set 与 unordered_map ---- 3、源码 本文中涉及的所有代码位于下面这个 Gitee 仓库中 《哈希模拟实现...》 ---- 总结 以上就是本次关于 C++【哈希模拟实现】的全部内容了,在本文中,我们主要对哈希的两种实现方式:闭散列与开散列(哈希桶)进行了简单模拟实现,学习了 线性探测 和 单链表 这两种哈希冲突的解决方法

21610

模拟风粒子效果(​Windy-js

我使用 JavaScript 编写了一个脚本,模拟风的粒子效果。这个脚本不仅能够展示风的流动,还可以通过风向和风力参数来改变粒子的运动方向和速度。...1、定义画布 2、引用脚本 3、使用 // 测试,更改这些值以调整风向和强度...windyanimate(windAngle, windStrength);// 调用粒子动画方法 可以根据天气预报接口,动态改变 windyanimate(windAngle, windStrength)方法的参数,模拟真实风场效果...这个 JavaScript 脚本已经能够较为真实地模拟天气预报中的风效果。你可以自由调整风向和风力参数,观察粒子随之产生的变化。如果你在自己的项目中需要实现类似的功能,不妨尝试一下这个脚本。...详细代码和使用说明,请访问我的GitHub仓库:https://github.com/fiyo/windy-js。 希望这个工具能对你的项目有所帮助!

18200

模拟实现 new 操作符(js)

js 不是基于 class 这种静态类模式,而是基于原型对象的模式。 所以,在 js 中,new 操作符,其实可以通俗的理解成一个辅助工具,用来辅助函数构造出一个新对象。...所以,我们才能够来模拟实现它,因为它其实通俗理解,就是一个工具函数。 得先明确这点,才能知道,的确是可以模拟 new 操作符的。...以上这种场景的 new 操作符其实就是做了几件事: 创建一个继承自 A.prototype 的空对象 让空对象作为函数 A 的上下文,并调用 A 返回这个空对象 这是基本的 new 使用的场景,那么我们要来模拟实现的话...new 操作符的所有职责或者说所有使用场景覆盖了: 用户定义的对象类型 ==> 当构造函数有返回值时 具有构造函数的内置对象 ==> 当前函数可用来作为构造函数,那么返回内部创建的新对象 所以,要完整模拟一个...没错,从引擎角度来看,的确是这样处理,但这些内部属性我们并没有办法看到的啊,那对于我们这些写 js 的来说,如何判断一个函数是否能够作为构造函数呢?靠经验积累?

3.5K10

【实战】将多个不规则多级表头的工作合并为一个规范的一维数据结果

最近在项目里,有个临时的小需求,需要将一些行列交叉结构的表格进行汇总合并,转换成规范的一维数据结构进行后续的分析使用。...从一开始想到的使用VBA拼接字符串方式,完成PowerQuery的M语言查询字符串,然后转换成使用插件方式来实现相同功能更顺手,最后发现,在当前工作薄里使用PowerQuery来获取当前工作薄的其他工作内容...,也是可行的,并且不需要转换智能就可以把数据抽取至PowerQuery内。...再最后,发现PowerQuery直接就支持了这种多工作合并,只要自定义函数时,定义的参数合适,直接使用自定义函数返回一个结果,就可以展开后得到多行记录的纵向合并(类似原生PowerQuery在处理同一文件夹的多个文件纵向合并的效果

1.9K20
领券