7.sizeof
sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。
8.堆/栈
堆内存申请由程序员自己申请并且需要声明申请大小/最大内存空间大小由系统有效虚拟 内存决定/效率慢,容易产生内存碎片/随意进出
栈地址是指栈顶的地址/内存申请由系统分配/栈空间不足可能会溢出(overflow)/最大内存空间大小2M/相对快,无内存碎片 /先进后出
生长方向:栈 向下生长 ;堆 向上生长
简而言之 对于栈来说上面是栈底下面是栈顶,而对于堆来说,上面是堆顶下面是堆底。
9.select/epoll
多路复用问题:
1)多路: 指的是多个socket网络连接;
2)复用: 指的是复用一个线程;
3)多路复用主要有三种技术:select,poll,epoll。epoll是最新的, 也是目前最好的多路复用技术;
select 支持水平触发, epoll 支持边缘触发。
时间复杂度:
1)select==>时间复杂度O(n)
2)epoll==>时间复杂度O(1)