随笔分类 - 读书笔记
摘要:4种强制类型转换:dynamic_cast:(1)子类向父类的转换,必定成功。如A是B的父类,A *pa=dynamic_cast=new B。(2)父类指针像子类指针转换,则遵循多态原则:如父类指针指向父类则返回NULL;如父类指针指向子类,则返回子类指针,转换成功。class A{public: virtual void f(){ cout(pa); if(pb){//cast success pb->fb();//fb不是虚函数,不能使用动态绑定来选择 }else{ pa->fa();//fa也不是虚函数 }}static...
阅读全文
摘要:物理层:作用:尽可能屏蔽物理设备与通信手段的差异,使上层的数据链路层只需考虑如何实现本层服务。数据链路层:基本单位:MAC帧,使用MAC地址;数据链路层在实际中使用的协议:点对点协议PPP协议。数据链路层作用:1、把网络层发下来的IP包封装成帧;2、从物理层接收帧,如果校对没错,则提取IP包传给上层网络层。三个基本问题:1、帧定界-使用帧首部尾部判断帧范围;2、透明传输-可传输任意比特组合;3、差错检测-如检测到接收的帧有差错可做进一步处理。数据链路层在实际中使用的协议:点对点协议PPP协议。网际层:实际使用IP协议完成网际层功能。基本单位:IP数据包,使用IP地址;路由器作用:如果目标主机在
阅读全文
摘要:https://github.com/iyjhabc/Design-Pattern第一章:简单工厂模式使用一个工厂类来根据参数调用不同的函数。因此增加功能时只需改变工厂类以及新增函数即可。class oper{protected://使用保护成员,子类可以访问。子类不能访问私有成员 double lhs; double rhs;public: double virtual getResult()=0;//纯虚函数 void set_lhs(double lhs){this->lhs=lhs;} void set_rhs(double rhs){this->rhs=...
阅读全文
摘要:第一章:概论操作系统的作用:1、用户与硬件的接口 2、为用户提供虚拟机,把用户和硬件隔离 3、管理计算机资源操作系统可以通过程序接口和操作接口两种方式把它的服务和功能提供给用户操作系统的基本任务是对“进程”实施管理第二章:处理器管理所谓特权指令是指那些只能提供给操作系统的核心程序使用的指令。当处理器处于管理状态时,可以执行全部指令,访问所有资源,并具有改变处理器状态的能力;当处理器处于用户状态时,只能执行非特权指令中断技术能实现CPU 与I/O 设备并行工作中断装置主要做以下三件事:发现中断源,提出中断请求。当发现多个中断源时,它将根据规定的优先级,先后发出中断请求。保护现场。将处理器中某些寄
阅读全文
摘要:着重于笔试需要的 基本概念 语句用法 效率优化等第一章:概述以数据关系为基础的数据库为关系型数据库,关系其实就是二维表。数据库三层模式:1、外模式(数据库模式的子集,提供给用户使用的接口)2、逻辑模式(全部数据的逻辑结构)3、内模式(数据的存储结构与存储方式)两层映像:1、逻辑模式-外模式映像(模式改变时外模式不变,保证数据与程序之间的逻辑独立性)2、逻辑模式-内模式映像(如存储结构改变时只需改变映像保证逻辑模式不变,保证数据的物理独立性)第二章:数据库建模约束:1、键码(key) 2、单值约束 3、引用完整性(实体的某个属性必须引用另外实体确实存在的键码属性) 4、域约束(范围)第三章:关系
阅读全文
摘要:注重搞清楚基础概念,为笔试做准备第一章:绪论,基本概念数据结构在计算机中的表示,成为存储结构。其中最小的单位是位。一般分为两种表示方法,对应两种存储结构:顺序结构与链式结构数据类型:一个值的集合以及定义在这个集合的值的一组操作时间复杂度:常量复杂度,线性O(n),平方,指数,对数等第二章:线性表-vector(顺序存储结构、线性表)-list(链式存储结构、线性链表)特点:1、有唯一的“开头”“结尾” 2、除了开头,其他元素都有唯一的“前驱” 3、除了结尾,都有唯一的后继线性表特点:两元素的存储位置物理相邻,因此可以随机存取线性链表特点:使用指针连接,分布存储。不能随机存取,但方便插入数据he
阅读全文
摘要:内存池STL实现:内存池(Memory Pool)是一种内存分配方式。 通常我们习惯直接使用new、malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。 内存池则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是尽量避免了内存碎片,使得内存分配效率得到提升。 在内核中有不少地方内存分配不允许失败. 作为一个在这些情况下确保分配的方式, 内核开发者创建了一个已知为内存池(或者是 &qu
阅读全文
摘要:第二章 防御性编程编程过程中使用assert()确保程序正确。习惯于先以测试者的身份编写测试程序,再以开发者的身份编写代码。修改代码的过程中用测试程序来检验结果。这样效率高。
阅读全文
摘要:4.2.4指针的使用指针+整数其实是地址+sizeof(type),其实就是下一个对象的首地址。而不是简单的加上整数个字节。普遍的const int *p;指向const对象,不能通过指针修改对象,但可以修改指针指向其他对象。少见的 int *const p=&a;const常量指针,指针地址不能修改,必须初始化(跟普通const变量性质一样)。但可以通过指针修改对象内容。区分这两种指针主要看const在*前还是后。正常的是在*左面。7.8重载函数只有在同一作用于声明的函数才会构成重载。如果在一个作用于里面声明一个函数名,将会屏蔽外层的同名函数。 (声明一个与外层函数名相同的变量也会有
阅读全文
摘要:2.14 动态规划 dynamic programming 之 求数组最大子数组之和如要求 int A[]={a0,a1,a2,a3,a4}; 的最大子串之和,使用遍历所有子串的情况,复杂度达到o(n3)。而使用动态规划则可达到o(n)。动态规划的思想是,把问题拆分为一个大的子问题和一个小的子问题,求解大的子问题需要用小子问题的结果。因此只需计算小子问题,就可以递推大问题,直到解决整个问题。新浪面试题:10个阶梯,一次可以走1步或者2步,问有多少中走法?答:考虑f(n)与f(n-1)的关系。如果最后一步是独立走一步完成的,则有f(n-1)*1种走法;如果最后一步是使用2步的话,则有f(n-2)
阅读全文
摘要:TCPIP四层结构 应用层-传输层-网络层-网络接口层集线器HUB同一时刻只能连通两台主机,而交换机SWITCH每个接口都有独立带宽IPV4由32位组成,IPV6128位IP地址分为公共地址和私有地址公共地址:A class:0~127 B class:128~191 C class:192~223 同一网域内(公共地址相同)的主机可不经路由直接网卡传输数据私有地址(独立出来不包含在公共地址中):A class:10.x.x.x B class:172.16.0.0~172.31.255.255 C class:192.168.x.x使用172..0.0.1/8这个默认主机IP地址可以测试本地
阅读全文
摘要:第一章软件测试的定义:1、未达到产品说明书功能2、出现了说明说没提及的错误3、功能超出说明书范围4、未达到指标5、难以理解不便使用运行缓慢。不应满足找出缺陷,应可能早地找出。用客户的眼睛看软件。第二章-软件开发过程软件开发模式:1、大棒式2、边写边改式3、流水式(瀑布)-创意-分析-设计-开发-测试-发布 目标:开发前解决所有未知数与决定所有细节。4、螺旋式 目标:不必定义所有细节,接受客户的反馈,通过测试后进入下一开发阶段。第四章-检查产品说明书黑盒测试:测试员不知道程序原理,只管输入和检查输出 白盒测试:知道原理,并可查看代码静态测试:不运行软件,测试不运行部分 动态测试:运行软件测试..
阅读全文
摘要:shell scripts语法#!/bin/bash 规定使用bash语法解释scripts#Program: 表明程序开始主程序部分exit 0 表明程序结束 #用sh执行脚本会新开一个子进程bash来执行,脚本中产生的变量不存在与父进程#用source 执行脚本会直接在本进程中执行脚本,变量会保留。 注意如果用SOURCE执行就不要加exit 0了,因为它会关闭父进程。sh 脚本文件 参数一 参数二 。。。 $0文件名 $1参数一 $#参数个数 $@显示所有参数date1=$(date -d '-1 day' +'%Y%m%d%A') date指令-d
阅读全文
摘要:第十二章 正则表达式grep进阶用法export | grep -A3 -B2 'TERM' 把目标的前2行 后3行也显示出来 before after在~/.bashrc中加入alias grep='grep --color=auto' ,并source ~/.bashrc 即可每次都别名生效grep -vn 'the' regular_express.txt 打印不包含the的行 -v 反向搜索grep -n 't[ae]st' regular_express.txt 查找 test 或 tastegrep -n '[
阅读全文
摘要:第五章:TAB键 命令补全,目录补全功能CTRL C 终止运行功能 命令输入错误时也用来退出CTRL D 终止输入end of fileman q结束 space翻页 /查找关键字shutdown reboot 关机,重启忘记ROOT密码的修复方法 P170第六章cd 目标目录 转移当前目录到目标目录cp 源文件(可多个) 目标文件 -i如目标文件已经存在,覆盖前先询问。 -r用于递归复制整个目录rm 删除目录或文件 -r递归删除目录所有文件 -i询问后删除 可用通配符删除多个文件 ?代表一个字符 *代表0到多个字符touch 目标文件 建立一个空文件 或 修改文件的状态mv 源(可多个)..
阅读全文

浙公网安备 33010602011771号