logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

影子页表

在真实的物理机器里,我们可以将地址层次抽象成两层,一层是虚拟地址,另一层是物理地址。而虚拟地址到物理地址的映射(PA->MA)参考:地址管理而在虚拟化的环境中,GuestOS之中的地址映射是: PA(进程地址)->HA (虚拟机“物理”地址)。问题就在于HA向真实的物理地址MA的转换(HA -> MA)。以Xen为例子来说明:Xen是支持全虚拟化和半虚拟化的,所以Xen提供了两种地址转换模式:直接

堆及其算法

堆一般是一种隐式表述(implicit representation),简单的说堆是由另外一种容器实现的。由于堆中的操作都基于搜寻父节点,子节点。如果用数组的话,那么不需要额外的存储空间就可以轻松实现。左子节点标号=父节点标号*2+1;右子节点标号=父节点标号*2+2;父节点标号=(子节点标号-1)/2。如果在用一种小技巧,将标号0处元素保留(或设为无限大(小)值),从而忽略根节点的话,计算式将改

STL的rotate函数分析

STL的rotate其实就可以看做是一个循环移位的函数。    首先对于循环移位操作有以下的几种思路:1)最简单的想法就是每次移动一位进行循环遍历整个容器,算法复杂度为O(n*m)。2)运用分组交换(尽可能使数组的前面连续几个数为所要结果):若a长度大于b,将ab分成a0a1b,交换a0和b,得ba1a0,只需再迭代交换a1 和a0。算法复杂度为O(n)。3)运用3次翻转操作(re

Spark之中map与flatMap的区别

Spark之中map与flatMap的区别一直不太明白spark之中map与flatMap之间的区别。map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。区别1:flatMap返回的是迭代器中的元素。上面的例子说明对于传递给flatMap的函数返回

#spark
到底了