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

给女朋友做网站的素材制作网站首页分为哪几部分

给女朋友做网站的素材,制作网站首页分为哪几部分,注册城乡规划师是干什么的,南海顺德网站建设费用内存池技术 操作系统在运行进程的过程中,会产生内存碎片,降低了内存的使用率。内存池技术就是为了解决/减少内存碎片的一种方法,内部底层的具体实现根据不同业务场景使用不要的方式,以下是一种好理解的方式,供大家一起…

内存池技术

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

内存碎片

产生的原因&过程

内存碎片分为内部内存碎片和外部内存碎片。我们一般说的内存碎片指的是外部内存碎片。外部内存碎片指的是操作系统连续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/215428/

相关文章:

  • 石家庄建站系统建一个网站需要多少钱
  • 深圳专业网站建设公司好吗闽清县城乡建设局网站
  • 商丘建设网站鞍山企业网站建设
  • 纯html5 网站浙江网站搭建
  • 成都六度网站建设淄博网站电子商城平台建设
  • 电影网站推荐哪个网站好广西建设局网站
  • 研艺影楼网站建设在什么网站可以做推广
  • 旅行社手机网站建设南京刚刚发生的大事
  • 一个虚拟主机可以放几个网站建筑学生的网站
  • 中英文网站好处广东建设厅官网
  • 做网站需要准备些什么企业建设网站的比例
  • 装饰网站建设网长沙最新工作招聘
  • 海关做预归类的网站美橙网站建设
  • 广东省备建设项目影响备案网站弱电工程公司网站怎么做
  • 社交网站网站建设要点
  • 网站搭建app网站建设费用的会计
  • wordpress建站linux网上做视频赚钱的网站
  • 湖南网站seo营销手机网站开发 速度
  • 简单个人网站模板上传产品网站怎么做
  • 杭州网站seo企业信息门户
  • 访问国外网站太慢网站建设分为那几个模块
  • 西安个人做网站wordpress主题 微信
  • 个人网站 不用备案吗网站建设英文怎么说
  • 吉首公司网站找谁做湖北省住房和城乡建设厅官网
  • 目前专业做水果的网站有哪些seo排名优化是什么意思
  • 涡阳网站优化建设银行的投诉网站
  • 如何上传网站数据库瑞安app开发公司
  • 互联网门户网站是什么意思最好看的免费观看视频西瓜
  • 扬州新闻头条最新消息四川seo技术培训
  • 网站开发用户功能分析淘宝官网首页网站