当前位置: 首页 > news >正文

word 没有安装wordpress北京seo服务商

word 没有安装wordpress,北京seo服务商,泗阳网站设计,绵阳网站建设公司内存池技术 操作系统在运行进程的过程中,会产生内存碎片,降低了内存的使用率。内存池技术就是为了解决/减少内存碎片的一种方法,内部底层的具体实现根据不同业务场景使用不要的方式,以下是一种好理解的方式,供大家一起…

内存池技术

操作系统在运行进程的过程中,会产生内存碎片,降低了内存的使用率。内存池技术就是为了解决/减少内存碎片的一种方法,内部底层的具体实现根据不同业务场景使用不要的方式,以下是一种好理解的方式,供大家一起学习。

内存碎片

产生的原因&过程

内存碎片分为内部内存碎片和外部内存碎片。我们一般说的内存碎片指的是外部内存碎片。外部内存碎片指的是操作系统连续malloc出来的内存中间有free部分,而这些free出来的部分暂时无法重新被使用。

Linux下运行一个进程的内存分配的过程

在这里插入图片描述
进程运行时,操作系统先将代码和全局数据、静态数据加载到代码段和数据段中;然后开始读取代码一步步执行,遇到局部变量操作系统会在栈中开辟对应的内存空间,遇到malloc申请的内存会在堆中开辟相应大小的空间。

解决方法——内存池技术

链表化

将堆的内存空间分成多段大小相同的内存块,存放在链表结构中:

struct MemNode{void *m_ptr;bool flag;MemNode *next;
}//内存分配的时候
MemNode node= new MemNode;
node.m_ptr = malloc(1024);
node.flag = true;  // 表示该结点被占用
add_node(head, node); //内存释放的时候
node = search(head, ptr);  // 找到释放的node,将标志位置成false
node.flag = false;  // 标志位为false的空间可以被使用

在这里插入图片描述
1、实现原理:将malloc出来的Node放在链表中,并将标志位置成true,释放的时候只需要将标志位置成false。下次再有malloc的时候,会遍历链表找到第一块内存大于需要分配的内存块且标志位为false的node直接使用。
2、解决的问题:
(1)一定程度上减少了操作系统反复malloc/free开辟释放空间;
(2)避免了内存碎片的产生;
3、缺点:
(1)内存没有高效利用;
(2)每次查找需要O(n)的时间复杂度;

2^n分配法 + 红黑树

struct MemNode{void *m_ptr;bool flag;rbTree_node<MemNode> treeNode;MemNode *next;
}struct HeadTable{MemNode *list;int size;
}struct MemTable{HeadTable[6];rbTree<MemNode> tree;
}

在这里插入图片描述
1、实现原理:将malloc出来的Node放在链表中,并将标志位置成true,释放的时候只需要将标志位置成false。下次再有malloc的时候,会遍历链表找到第一块内存大于需要分配的内存块且标志位为false的node直接使用。
2、解决的问题:
(1)一定程度上提高了内存利用率;
(2)红黑树的查找效率为O(logn);也可以使用hash、b树、b+树、skip-table
3、缺点:
(1)极端场景:分配的内存集中在某一个范围,假设一直分配512的大小,那么小的内存都将没有利用到。所有这种场景许哟啊根据实际情况进行2^n的分配和制定。

大内存块向小内存块分离&小内存块向大内存块整合的问题

1、大内存块向小内存块分离
这种场景可以将大内存进行折半分解,比较容易;
2、小内存块向大内存块整合
这种场景不好整合,因为内存的地址可能不连续。所以需要尽量去避免,根据具体的内存使用场景及生命周期采用合理的技术。

http://www.yayakq.cn/news/706473/

相关文章:

  • 房屋室内装修设计seo竞争对手网站分析
  • 建站本wordpress 改 名字
  • 网站项目建设计划wordpress插件使用模板
  • 网站制作网免费北京专业网页设计制作公司
  • 建立网站批复东营最新通知
  • 模仿茶叶的网站制作怎么开亚马逊跨境电商店铺
  • 轻淘客网站建设wordpress 微博模板
  • 代理机构做的网站找不到人了怎么办把开发的网站让外网能访问要怎么做
  • 校园网站设计开题报告网站seo方案
  • 建网站 xyzwordpress discuz 统一账号
  • 网站制作流程有哪些ip地址信息备案管理系统
  • 做网站需要做哪些东西汕头网站制作找谁
  • 网站开发组合 lamp网站建设和管理情况调查表
  • 莱芜网站建设服务2021年世界500强榜单
  • 怎样建立企业网站网站开发寄什么科目
  • 企业建站系统263邮箱企业邮箱入口
  • 济南高新区网站建设公司免费网站空间哪个好
  • 之前做的网站说要升级wordpress无觅
  • 陕西省咸阳市建设银行网站在线留电话的广告
  • 杭州有没有专业做网站的公司wordpress后台进去
  • 网站备案有电话来二手网站设计与建设
  • 做旅游销售网站平台ppt模板美容设计网站建设
  • 网站导航颜色湛江市住房和城乡建设网站
  • 国内网站要备案空间 wordpress
  • 移动网站建设的前景和平东路网站建设
  • html5自建网站网站做镜像
  • 做家教中介网站赚钱吗WordPress数据库大
  • 建设银行网站不主动弹出网站开发网络公
  • 网站建设公司行情钓鱼网站到底怎么做
  • 医疗类网站源码ps软件下载网站