摘要: 一般来说,程序进行输入操作有两步:1.等待有数据可以读2.将数据从系统内核中拷贝到程序的数据区。 对于sock编程来说: 第一步: 一般来说是等待数据从网络上传到本地。当数据包到达的时候,数据将会从网络层拷贝到内核的缓存中; 第二步: 是从内核中把数据拷贝到程序的数据区中。 阻塞I/O模式 //进程 阅读全文
posted @ 2019-07-10 10:53 greenscarf 阅读(153) 评论(0) 推荐(0) 编辑
摘要: http0.9 只有get http1.0 正式标准 包括put、patch、head、options、delete命令 http1.1持久连接(keep-alive)节约宽带、host域、管道机制(仅支持 get、head命令,有线头阻塞风险)、分块传输编码 http2.0多路复用、头信息压缩 h 阅读全文
posted @ 2019-07-05 10:51 greenscarf 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1 拷贝构造函数应该传入引用,而且是常引用,传值将会编译不过 2 单例模式实现,注意多线程下的单例模式 采用双判空 3 长度为n的数组中,装有0-n-1的数字,求重复的数字:从头遍历, 当d[i]!=i&&d[i]!=d[d[i]]时swap(d[i],d[d[i]]) 阅读全文
posted @ 2019-06-28 15:36 greenscarf 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 关于带缓冲的io与不带缓冲的io,此时的缓冲指应用层面的缓冲,即先写入缓冲区(用户空间),缓冲区满时执行系统调用,将数据拷贝至内核(内核缓冲区),内核缓冲区满才执行io 即双缓冲,第一层为了减少系统调用次数,第二层为了减少io次数 进程间通信方式 匿名pipe,通过文件名描述符建立管道,pipe(f 阅读全文
posted @ 2019-06-27 21:04 greenscarf 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1 #include 文件包含 注意区分尖括号与引号的区别,尖括号告诉预编译器在编译器自带的或外部库的头文件中搜寻被包含的头文件 2 条件编译 包括:#if #ifndef #endif #undef 3 宏替换 #define ,包括有参与无参 编译器 预定义了一些宏 包括 __FILE__ __ 阅读全文
posted @ 2019-06-24 11:07 greenscarf 阅读(1176) 评论(0) 推荐(0) 编辑
摘要: 1、关于for循环:for(A;B;C) 是先执行 A,在执行判断语句B,判断语句若是复合的 比如 a<=1&&!x++,则是从左往右的执行,不满足前一项时,不判断第二项,接着执行循环体,最后执行C 对于上述的语句,在执行B是,先执行a<=1&&!x,无论执行结果的真假,都要执行++语句. 2、对于 阅读全文
posted @ 2019-06-19 11:07 greenscarf 阅读(606) 评论(0) 推荐(0) 编辑
摘要: volatile:指出变量易变,这里的易变是指不为编译器知道的变化,通常来自操作系统,硬件或其他线程。该参数不与const冲突,const只是在编译层面上保证变量的常量性,即不可赋值性,是一种在编译时期的保证。 故,const 和volatile可共同修饰某一变量,volatile也可修饰指针,vo 阅读全文
posted @ 2019-06-03 10:53 greenscarf 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 关于c++基本 1、将c++视为语言联邦 它有4个层次:c、面向对象、泛型、stl库 2、对于单纯常量,最好用const对象或enums替换#define enums为用户刻画了一组有范围的值 3、对于形似函数的宏,用inline代替#define 4、尽量、大胆地使用const,编译器强制实行bi 阅读全文
posted @ 2019-05-14 11:38 greenscarf 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 最佳置换算法(OPT) 最佳置换算法(OPT) 这是一种理想情况下的页面置换算法,但实际上是不可能实现的。该算法的基本思想是:发生缺页时,有些页面在内存中,其中有一页将很快被访问(也包含紧接着的下一条指令的那页),而其他页面则可能要到10、100或者1000条指令后才会被访问,每个页面都可以用在该页 阅读全文
posted @ 2019-03-15 19:30 greenscarf 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 转载:http://www.kerneltravel.net/journal/v/mem.htm Linux内存管理 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的 阅读全文
posted @ 2019-03-15 17:30 greenscarf 阅读(142) 评论(0) 推荐(0) 编辑