摘要: 1 vector vector和数组类似,拥有一段连续的内存空间,并且起始地址不变;因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n);另外,当数组中内存空间不够时,会重新申请一块内存空间并进行内存拷贝。 2 阅读全文
posted @ 2021-08-26 21:44 Jcpeng_std 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 1 引用 C++是C语言的继承,它可进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用就是C++对C语言的重要扩充。引用就是某一变量的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标 阅读全文
posted @ 2021-08-25 21:09 Jcpeng_std 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 在平时客户端socket开发中,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。 TCP属于传输层的协议,传输层除了有TCP协议外还有UDP协议。但UDP不会发生粘包或拆包的现象,因为UDP是基于报文发送的, 阅读全文
posted @ 2021-08-24 21:43 Jcpeng_std 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 动态链接库是程序运行时加载的库,当动态链接库正确部署之后,运行的多个程序可以使用同一个加载到内存中的动态库,因此在 Linux 中动态链接库也可称之为共享库。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址使用的是相对地址(静态库中使用的是绝对地 阅读全文
posted @ 2021-08-23 21:32 Jcpeng_std 阅读(1622) 评论(0) 推荐(0) 编辑
摘要: 1 信号类型 在Linux操作系统下,可以通过命令kill -l 来查看当前系统中存在的信号名称和编号: 信号的说明: #define SIGHUP 1 /* Hangup (POSIX). 终端连接断开信号*/ #define SIGINT 2 /* Interrupt (ANSI). 中断信号, 阅读全文
posted @ 2021-08-22 21:45 Jcpeng_std 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 在IO多路复用技术中,epoll默认的事件触发模式为Level_triggered(水平触发)模式,即当被监控的文件描述符上有可读/写事件发生时,epoll_wait()会通知处理程序去读写。如果没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wait()时,它还会通知在上 阅读全文
posted @ 2021-08-21 14:12 Jcpeng_std 阅读(2091) 评论(0) 推荐(0) 编辑
摘要: 基于DPDK 的OVS 数据包处理流程 1)OVS 的内核态空间接收到网卡的中断通知后,通过用户空间的I/O(userspace I/O,UIO) 驱动轮询模块接收到网卡发来的数据包,用户态空间通过DPDK 的PMD 收端口驱动直接接收来自网卡的报文。 2)用户态空间收取到报文之后,从数据包中提取由 阅读全文
posted @ 2021-08-20 19:12 Jcpeng_std 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 1 什么是死锁 所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 举个例子来描述,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁。 2 产生死锁的原因 阅读全文
posted @ 2021-08-19 20:00 Jcpeng_std 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 一、HTTP协议和TCP协议 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递数据包,使在网络上的另一端收到发端发出的所有包,并且顺序与发出顺序 阅读全文
posted @ 2021-08-18 20:57 Jcpeng_std 阅读(973) 评论(0) 推荐(0) 编辑
摘要: Open vSwitch中有多个命令,分别有不同的作用,大致如下: ovs-vsctl用于控制ovs db ovs-ofctl用于管理OpenFlow switch 的 flow ovs-dpctl用于管理ovs的datapath ovs-appctl用于查询和管理ovs daemon 1 控制管理 阅读全文
posted @ 2021-08-17 19:47 Jcpeng_std 阅读(3942) 评论(0) 推荐(1) 编辑