自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 HTTP协议

一、HTTP协议工作流程1、HTTP是基于TCP协议的,而HTTPS协议则是同处应用层而基于TLS、SSL协议层之上的协议;2、HTTP默认的端口号为80,HTTPS的默认端口号则为443;3、HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所谓的“端到端”可以理解为进程到进程之间的通信,所以HTTP在开始传输之前,首先需要建立TCP连接;4、一次HTTP操作称为一...

2018-10-19 11:28:38 216

原创 进程间通信

一、管道1、父子进程之间并不共享数据段和堆栈段,它们之间是通过管道进行通信的。2、管道的特点:1)数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,则需要建立两个管道。2)管道只能用于父子进程或者兄弟进程间通信,也就是说管道只能用于具有亲缘关系的进程间通信;3)管道没有名字(无名管道),管道的缓冲区大小是受限制的;管道所传输的是无格式的字节流。3、写入...

2018-10-19 10:42:00 229

原创 进程

一、程序与进程1、进程结构一般由3部分组成:代码段、数据段和堆栈段;代码段是用于存放程序代码的数据;数据段则存放程序的全局变量、常量和静态变量;堆栈段中的栈用于函数调用,它存放着函数的参数、函数内部定义的局部变量,堆栈段还包括了进程控制块(Process Control Block,PCB);PCB处于进程核心堆栈的底部,不需要额外分配空间;PCB是进程存在的唯一标识,系统通过PCB的存在而感...

2018-10-19 09:49:57 182

原创 多线程

进程是操作系统中执行工作的基本单元,是包含程序指令和相关资源的集合,每个进程和其他进程一起参与调度,竞争CPU、内存等系统资源。每次进程切换,都存在进程资源的保存和恢复动作,这称为上下文切换。同一个进程内部的多个线程,共享的是同一个进程的所有资源。一、多线程1、多线程就是允许一个进程内存在多个控制权,以便让多个函数同时处于激活状态,从而让多个函数的操作同时运行。2、多线程的进程在内存中有多...

2018-10-18 21:04:50 199

原创 网络分析工具

一、ping1、ping(Packet Internet Groper,因特网包探索器)原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台机器是否连接相同以及时延是多少;2、使用ping检查连通性有以下6个步骤1)使用ipconfig/all观察本地网络设置是否正确。2)ping 127.0.0.1,来检查本地的TCP/IP协...

2018-10-18 16:42:16 2018

原创 网络IO模型

同步IO:必须等待IO操作完成后,控制权才返回给用户进程。异步IO:无序等待IO操作完成,就将控制权返回给用户进程。一、4种网络IO模型:1、阻塞IO模型在Linux中,默认情况下所有的socket都是阻塞的。阻塞是指IO操作需要彻底完成后才返回到用户空间;非阻塞是指IO操作被调用后立即返回给用户一个状态值,不需要等到IO操作彻底完成。阻塞IO模型的特点就是在IO执行的两个阶段(等待...

2018-10-18 16:22:23 621

原创 TCP协议

一、ISO七层网络模型及其功能展示1、物理层:比特流传输,对应网络中的中继器、集线器、网线和HUB,传输单位为比特;2、数据链路层:提供介质访问、链路管理等;对应网络中的网卡、网桥、交换机;传输单位为帧。3、网络层:寻址和路由选择;对应网络中的路由器、防火墙、多层交换机;传输单位为数据包。4、传输层:建立主机端到端链接;对应计算机的进程和端口;传输单位为数据段。5、会话层:建立...

2018-10-18 14:40:29 1082

原创 C++面试常见问题准备

1、strlen与sizeof的区别:(1) strlen()是函数,在运行时才能计算。参数必须是字符型指针(char*),且必须是以’\0’结尾的;当数组名作为参数传入时,实际上数组已经退化为指针了。它的功能是返回字符串的长度。(2) sizeof()是运算符,在编译时就计算好了,用于计算数据空间的字节数。因此,sizeof不能用来返回动态分配的内存空间的大小。sizeof常用于返回类型和静...

2018-09-28 09:37:22 184

原创 计算机网络--网络层

1、网络层提供的两种服务----虚电路服务(可靠)和数据报服务(TCP/IP的网络层提供);一、网际协议IP1、与IP协议配套使用的还有三个协议:地址解析协议ARP(Address Resolution Protocol)网际控制报文协议ICMP(Internet Control Message Protocol)网际组管理协议IGMP(Internet Group Management...

2018-09-21 10:10:24 185

原创 面试总结(二)

百度一面:1、多态、如何实现、虚函数的实现及其作用?哪些可以为虚函数,哪些必须,哪些不可以?虚函数内部是怎么实现的?多态:允许将父对象设置成和一个或多个子对象相等;也就是允许将子类类型的指针赋值给父类类型的指针(一个接口,多种方法,即接口重用);不论传递过来的究竟是哪个类的对象,函数都能够通过同一个借口调用到适应各自对象的实现方法;C++支持两种多态性:编译时多态性,运行时多态性a、编译时...

2018-09-19 21:48:42 146

原创 数据结构----排序

一、排序的基本概念与分类1、含有n个记录的序列为r1到rn,其相应的关键字分别为k1到kn,需确定1到n的一种排列p1到pn,使其相应的关键字满足kp1小于等于一直到kpn(非递减或非递增)关系,即使得序列称为一个按关键字有序的序列rp1到rpn,这样的操作就称为排序;2、排序的稳定性:假设ki=kj(i和j在1到n之间,且i不等于j),且在排序前的序列中ri领先于rj(即i<j)。如...

2018-09-18 14:09:16 169

原创 数据结构的查找问题

一、 1、查找表,是由同一类型的数据元素(或记录)构成的集合;关键字,key是数据元素中某个数据项的值,又称为键值;也可以标识一个记录的某个数据项(字段),称为关键码;若此关键字可以唯一地标识一个记录,则称此关键字为主关键字;对于那些可以识别多个数据元素或记录的关键字,称为次关键字; 2、查找表按照操作方式可分为静态查找表和动态查找 静态查找表,只作查找操作的查找表,主要操作有(1):查询...

2018-09-17 19:40:47 1195

原创 C语言补充知识

一、scanf scanf函数的标准输入格式为:scanf(格式控制字符串,地址列表); 其中格式控制字符串的一般形式为 %[*][数据宽度][长度]类型。 1.类型 :%o (八进制)、%d(十进制)、%x(十六进制)、%f (字符型)、%u(无符号类型)、%c (字符型)、%s(字符串型) 2.数据宽度:用十进制整数来指定字符宽度 例如 int a,b; scanf(“%5d”,...

2018-09-13 16:36:56 151

原创 深入理解计算机系统----信息的表示和处理

1、最小的可寻址的内存单位是字节,内存的每个字节都由一个唯一的数字来标识,称为地址,所有可能地址的集合称为虚拟地址空间;2、十六进制数字0代表4个二进制0;二进制表示中,x=2的n次方就是1后面跟n个0;当n表示成i+4j的形式,可以把x写成开头的十六进制数为1(i=0),2(i=1),4(i=2),或者8(i=3),后面跟着j个十六进制形式的0;3、最低有效字节在前面的方式,称为小端法;...

2018-09-11 10:26:43 128

原创

1、G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合; 在图中,数据元素称之为顶点;图不允许没有顶点;在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以为空; 无向边:若顶点A到D之间的边没有方向,则称这条边为无向边,用无序偶对(A,D)或(D,A)来表示,如果都是无向边,则图称为无向图; 有向边:若顶点A到D的边有方向,则称这条边为有向边...

2018-09-09 16:15:08 888

原创 面试总结(一)

深信服一面(已挂) 1、在一个字符串中查找指定字符的方法有哪些? 答:遍历字符串,逐个判断;用strchr()函数查找,返回第一次出现的字符的地址;用一个辅助数组来做hash映射,第一次扫描时,更新在辅助数组中当前字符出现的次数,hash查找的时间复杂度为O(1),第二次扫描时,在辅助数组中找出当前字符出现一次的位置。2、如果要在字符串中查找{a,b,c}中的任意一个字符并返回第一次出现的...

2018-09-06 21:05:30 154

原创 C++面试常见问题总结

1、new和malloc的区别 1)分配方式:new根据数据类型分配内存,会调用构造函数,malloc根据数据大小分配内存; 2)类型:new是操作符,可重载,而malloc是库函数; 3)返回类型:new返回指定对象的指针,malloc返回的是void*,所以一般需要进行内存转换; 4)销毁方式:new分配的内存用delete销毁,delee会调用析构函数;malloc要用free销毁;...

2018-09-06 13:02:15 1884

原创 strcpy和memcpy的区别?

1)复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意类型的内容。strcpy只用于字符串复制,并且还会复制字符串的结束符。memcpy对于复制的内容没有限制,用途更广。 2)复制的方法不同。strcpy不需要指定长度,遇到结束符’\0’才会结束,所以容易溢出。memcpy则是根据第三个参数决定复制的长度 3)用途不同。通常在复制字符串时用strcpy,在复制其他类型数据时...

2018-09-03 21:40:19 9878

原创 C++重点知识总结----字符串

一、C风格字符串 1、 C++通常通过char*类型的指针来操纵C风格字符串,直到到达结束符null为止2、指向同一个字符串的指针可做算术运算3、strlen()计算字符数组的字符数,以’\0’为结束标志,计算不为’\0’的数组元素个数4、printf语句在输出字符串时,将’\0’当作字符串的结尾5、memcpy 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所...

2018-09-03 21:36:13 285

原创 C++重点知识总结----数组

内存分区: 堆:手动分配释放,malloc,new来分配,free,delete来释放 栈:编译器自动分配释放,存放函数的参数值、局部变量的值等 全局(静态)存储区:存放全局变量和静态变量,包括DATA段(全局初始化区,存放初始化的全部变量和静态变量)与BSS段(全局未初始化区,在程序执行之前BSS段会自动清0),程序结束后由系统释放 文字常量区:常量字符串,程序结束后由系统释放 ...

2018-09-03 14:51:33 1138

原创 C++常见问题(一)

1、字符数组初始化有两种方法: 1.用字符为数组赋初值 2.用字符串常量赋初值,注意字符串用双引号 2、

2018-09-02 12:51:45 181

原创 C++ primer笔记----动态内存

1、 对象生命周期:全局对象在程序启动时分配,在程序结束时销毁。局部自动对象,当我们进入其定义所在程序块时被创建,在离开块时被销毁。局部static对象在第一次使用前分配,在程序结束时销毁2、除了static和自动对象外,C++还支持动态对象的分配。动态分配的对象的生存期与它们在哪里创建无关,只有被显示的释放时,这些对象才会被销毁3、动态对象的释放是编程中极其容易出问题的地方,为了安全使用...

2018-09-01 18:17:07 217

原创

1、子树的个数没有限制,但它们一定是互不相交的 2、树的结点包含一个数据元素及若干指向其子树的分支;结点拥有的子树数称为结点的度;度为0的结点称为叶结点或终端结点;度不为0的结点称为非终端结点或分支结点;除根结点之外,分支结点也称为内部结点;树的度是树内各结点的度的最大值;3、结点的子树的根称为该结点的孩子,该结点称为孩子的双亲,同一个双亲的孩子之间互称兄弟,结点的祖先是从根到该结点所经分...

2018-09-01 14:59:54 915

原创 C++ primer笔记----泛型算法

1、泛型算法:算法是因为其实现了一些经典算法的公共接口,如排序和搜索。泛型是因为他们可以作用于不同类型的元素和多种容器类型甚至是内置数组。故称泛型算法2、基本上都定义在algorithm和numeric两个头文件中,这些算法遍历由两个迭代器指定的一个元素范围来进行操作,不对容器进行直接操作3、所谓泛型算法就是作用于容器和元素上面的一些操作的合集,在实际情况中要善于使用4、标准库基本上都...

2018-08-30 11:18:20 176

原创

1、串是由零个或多个字符组成的有限序列(有前驱后继关系),又叫字符串; 串中的字符数目称为串的长度,零个字符的串称为空串2、 字串的定位操作通常称作串的模式匹配...

2018-08-29 20:00:04 120

原创 C++ primer笔记----关联容器

1、 关联容器与顺序容器有着根本的不同;关联容器的元素是按关键词来保存和访问的,顺序容器是按他们在容器中的位置来顺序访问2、关键词在关联容器中起到重要的作用,map中的元素是(关键字—值)对,关键词起到索引的作用,值是与索引相关联的数据。set每个元素只包含一个关键字,支持高效的关键词查找3、标准库提供8个关联容器,主要是map/set,是否重复关键字,顺序保存容器与否4、map的定义...

2018-08-29 14:11:37 149

原创 栈和队列

1、栈是限定仅在表尾(栈顶)进行插入和删除操作的线性表,把允许插入和删除的一端称为栈顶top,另一端称为栈底bottom,不含任何数据元素的栈称为空栈,后进先出 2、栈的插入操作,叫作进栈,也称压栈、入栈;栈的删除操作,叫作出栈,也叫弹栈3、当栈存在一个元素时,top等于0,因此通常把空栈的判定条件定为top等于-14、链栈的进栈操作: 把当前的栈顶元素赋值给新结点的直接后继 将新...

2018-08-28 21:20:47 91

原创 C++ primer笔记----顺序容器

1、顺序容器类型 vector:可变大小数组,支持快速随机访问,尾部插入数据很快,其他位置可能很慢 deque:双端队列。支持快速随机访问,头尾插入/删除数据很快 list:双向链表。只支持双向顺序访问,在其任何位置插入/删除数据都很快 array:固定大小数组,不能改变大小。支持快速随机访问,不能添加或删除元素 string:与vector类似,专用于保存字符。随机访问快,在尾部插入/...

2018-08-28 17:16:44 284

原创 链表常用操作--C++实现

一、头文件,每个结点包括数据和指针#pragma once#include<iostream>struct Node{ int data; Node *next;};class Linlist{private: Node * Head;public: Linlist(); void CreatList1(int n); ...

2018-08-27 16:10:57 155

原创 请实现一个函数,将一个字符串中的空格替换成

class Solution {public: void replaceSpace(char *str, int length) { if (str == NULL || length<0)//非空判断 return ; int i = 0; int oldlength = 0;//字符串的长度 ...

2018-08-23 16:07:15 411

原创 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

class Solution {public: bool Find(int target, vector<vector<int> > array) { int rowCount = array.size(); int colCount = array[0

2018-08-23 11:02:20 72

原创 C++ primer笔记----IO库

1、IO类分别定义在三个独立的头文件中 < iostream>定义了基于读写流的基本类型 < fstream>定义了读写命名文件的类型 < sstream>定义了读写内存string对象的类型 三个头文件皆在标准库中。 2、IO对象无拷贝或赋值,进行IO操作的函数通常以引用方式传递和返回流,其传递和返回的引用不能是const的。3、确定一个流对...

2018-08-23 10:01:00 113

原创 C++ primer笔记----类继承

1、面向对象程序设计的三个基本概念:数据抽象、继承和动态绑定(核心概念) 数据抽象:将类的接口与实现分离 继承:我们可以定义与其他类相似但完全不相同的新类 动态绑定:在使用这些彼此相似的类时,在一定程度上忽略他们的区别,统一使用它们的对象2、类的继承构成一种层次关系,在层次根部的为基类,其他类则直接或者间接的从基类中继承而来,称为派生类,基类负责定义在层次关系中所有类共有的数据成员,而派...

2018-08-21 19:53:53 207

原创 C++ primer笔记----拷贝控制

1、如果一个构造函数的第一个参数是自身类类型的引用(该引用几乎都是const引用),且任何额外参数都有默认值,则此构造函数是拷贝构造函数; 2、即使定义了拷贝构造函数,编译器也会合成一个拷贝构造函数; 拷贝初始化不仅在我们用=定义变量时会发生,在下列情况下也会发生: 将一个对象作为实参传递给一个非引用类型的形参; 从一个返回类型为非引用类型的函数返回一个对象; 用花括号列表初始化一个数...

2018-08-17 13:13:28 196

原创 C++ primer笔记----类

1、成员函数的声明必须在类的内部,它的定义既可以在类的内部也可以在类的外部;2、this是一个常量指针,不允许改变this中保存的地址;默认情况下,this的类型时指向类类型非常量版本的常量指针;C++允许把const关键字放在成员函数的参数列表之后,此时,紧跟在参数列表后面的const表示this是一个指向常量的指针;使用const的成员函数被称作常量成员函数;常量对象,以及常量对象的引用或...

2018-08-17 10:26:24 156

原创 计算机网络--概述

1、TCP/IP的四层结构,自上而下分别是:应用层、运输层、网际层、网络接口层;五层协议则是指应用层、运输层、网络层、数据链路层和物理层;2\

2018-08-16 10:23:47 113

原创 C++ primer笔记----函数

1、函数定义包括:返回类型、函数名、形参列表(0个或多个,用逗号隔开)以及函数体。 通过调用运算符(一对圆括号,作用于一个表达式,该表达式是函数或者指向函数的指针,圆括号之内是一个用逗号隔开的实参列表)来执行函数,用实参初始化函数的形参,调用表达式的类型就是函数的返回类型。2、函数的调用完成两项工作:1)用实参初始化函数对应的形参;2)将控制权转移给被调用函数,此时主调函数的执行被暂时中断,被...

2018-08-14 20:40:27 145

原创 C++程序

一、统计元音字母和其他字母个数#include "stdafx.h"#include <iostream>using namespace std;int main(){ char cval; int a

2018-08-13 10:52:26 198

原创 C++ primer 笔记----语句

1、复合语句是指用花括号括起来的语句和声明的序列,也被称作块,一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块里访问;块不以分号作为结束。2、悬垂else:如何确定某个else与哪个if匹配;C++规定else与离它最近的尚未匹配的if匹配,从而消除了程序的二义性。3、break语句的作用是中断当前的控制流;case关键字和它对应的值一起被称为case标签,case标...

2018-08-13 10:51:25 114

原创 C++ primer 笔记----表达式

1、重载运算符,当运算符作用于类类型的运算对象时,用户可以自行定义其含义;使用重载运算符时,其包括运算对象的类型和返回值的类型,都是由该运算符定义的,但是运算对象的个数、运算符的优先级和结合律都是无法改变的。 2、一个名字所代表的单元(地址)称为该名的左值,一个名字的值称为该名的右值; 因此当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中...

2018-08-12 20:07:26 160

网络优化谢金星课件PPT

清华大学谢金星,网络优化,完整版课件PPT,强烈推荐!

2018-12-12

凸优化英文教材讲义课后答案完整版

凸优化经典英文教材+讲义+习题解答完整版,强烈建议下载

2018-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除