Xu Blog

一生想做浪漫极客

    "深度探索C++对象模型"

  "C++对象模型"

深度探索C++对象模型 第一章:关于对象 对象的含义:将数据和函数关联起来 误解:将数据和函数封装为对象后,并没有增加内存布局成本,数据出现在每一个对象中,但成员函数却只会诞生一个函数实例,不出现在对象之中,其实成员函数定义在类中,只不过是限定了该函数的作用域,其它的 和普通函数没什么区别。 虚函数的作用:支持一个有效率的“执行期绑定”,实现多态 虚基类的作用:实现“多次出现在继承体...

    "腾讯面试经验"

  "腾讯面试经验整理"

腾讯 18.4.2 鸡哥 一面 1.TCP和UDP的区别 2.使用TCP,循环调用3次write,每次write一个字节,在接收方要读几次;UDP接收方是几次 3.TCP已经提供了数据校验了,为什么网上下载一些文件还需要md5之类的来检测数据 解答 4.互斥的方式 5.信号量和互斥量的区别,结合消费者问题说一下 ...

    "高级I/O"

  "Unix环境高级编程"

高级I/O 非阻塞I/O 系统调用可以分为两类:“低速系统调用”和其他,低俗系统调用是可能使进程永远阻塞的一类系统调用,包括: 某些文件类型(如读管道,终端设备和网络设备)的数据并不存在。读操作可能会使进程永远阻塞。 如果数据不能被相同的文件类型立即接收(如管道中无空间,网络流控制),写操作可能会使的调用者永远阻塞。 在某种条件发生之前打开某文件类型可能会发生阻塞 对...

    "剑指offer思路整理"

  "剑指offer整理"

剑指offer题目整理 数据结构 数组 面试题三:找重复数字 找出数组中重复的数字,在长度为n的数组中数字大小的范围在0~n-1之间。 思路:本身原数组就是一个长度为n的数组,所以原数组自身就可以当成哈希表来存放数据,遍历数组,将每一个元素存放到和下标对应的位置,如果该位置已经存在该数则说明重复,直接输出。 不修改数组找出重复的数字,长度为n+1的数组里所有的数字都...

    "计算机操作系统"

  "操作系统的精髓和原理"

第一章.计算机系统概述 1.基本构成 2.指令的执行 3.中断 4.中断处理 5.存储结构 6.高速缓存 7.直接内存存取DMA 第二章.操作系统概述 1.目标和功能 2.操作系统的发展 3.现代操作系统 ...

    "计算机网络基础"

  "计算机网络基础-自顶向下"

计算机网络 一、计算机网络和因特网 分组交换 协议层 网络攻击 二、应用层 超文本传输协议http(80端口) 文本传输协议FTP(21端口) 电子邮件SMTP(25端口) DNS(53端口) 三、传输层 UDP-无连...

    "排序算法总结"

  "算法"

排序算法 排序算法参考 稳定性 排序算法的稳定性:若待排序的序列中,存在多个具有相同关键字的记录,经过排序, 这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对 次序发生了改变,则称该算法是不稳定的。 稳定性的好处:排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样...

    "C语言标准-函数库"

  "C语言基础复习十"

标准函数库 整型函数:这组函数返回整型值,分为三类:算术,随机数和字符串转换 算术 int abs(int value);//返回参数的绝对值 long int labs(long int value);//也是返回参数的绝对值,但参数类型为长整型 div_t div(int numerator,int denominator);//第二个参数(分母)除以第一个参数(分子)产...

    "C语言-输入输出函数"

  "C语言基础复习九"

输入输出函数 我们讨论的是ANSI C的输入输出函数 错误报告 标准库函数在一个外部整型变量errno(error.h中定义)中保存错误代码之后把这个信息传递给用户程序,提示操作失败的准确原因 当程序执行失败后,会给errno赋值指示错误类型 void perror(char const *message);//message不为NULL则打印该字符串,后面跟一个分号空格,然后打...

    "C语言-高级指针话题&预处理器"

  "C语言基础复习八"

高级指针话题 高级声明 int f(); int *f();//()优先级高于*,所以f首先是一个函数,然后返回值是一个指向整型值的指针 int (*f)();//首先f是一个指针,它指向一个返回int的函数 int *(*f)(int,float);//f是一个指针,指向一个返回指向整型值指针的指针,函数的参数为整型、浮点型 int f[];//整型数组 ...