摘要: 堆和栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别: 1、栈使 阅读全文
posted @ 2017-09-21 20:03 涛声依旧~ 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1) 同步阻塞IO(Blocking IO)2) 同步非阻塞IO(Non-blocking IO)3) IO多路复用(IO Multiplexing)4) 异步IO(Asynchronous IO) 注意以下概念: 1.同步/异步 同步和异步是相对的同步 前后两件任务, 有严格的顺序一致性(依赖和递 阅读全文
posted @ 2017-09-21 20:01 涛声依旧~ 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 当我们在用C++做底层驱动的时候,经常会遇到内存不足的警告,究其原因,往往是因为内存出现溢出,泄露或者越界等原因。那么他们之间有什么联系吗? 内存溢出(out of memory) 是指程序在申请内存时,没有足够的内存空间供其使用。 内存泄漏(memory leak) 是指程序在申请内存后,无法释放 阅读全文
posted @ 2017-09-21 19:58 涛声依旧~ 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。 加载因子的系数小于等于1,意指 即当 元素个数 超过 容 阅读全文
posted @ 2017-09-21 19:55 涛声依旧~ 阅读(331) 评论(0) 推荐(0) 编辑