2021年7月31日

[置顶] C++ 内存管理中内存泄漏问题产生原因以及解决方法

摘要:C++内存管理中内存泄露(memory leak)一般指的是程序在申请内存后,无法释放已经申请的内存空间,内存泄露的积累往往会导致内存溢出。 一、内存分配方式 通常内存分配方式有以下三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, 阅读全文

posted @ 2021-07-31 23:08 Jcpeng_std 阅读(6) 评论(0) 推荐(0) 编辑

2021年8月1日

Linux top命令详解

摘要:在Linux系统控制命令行使用top命令,可以查看正在运行的进程和系统负载信息,包括cpu负载、内存使用、各个进程所占系统资源等,top可以以一定频率更新这些统计信息。 默认输出 top命令的默认输出如下: 上半部分显示了整体系统负载情况 top:从左到右依次为当前系统时间,系统运行的时间,系统在之 阅读全文

posted @ 2021-08-01 21:30 Jcpeng_std 阅读(0) 评论(0) 推荐(0) 编辑

2021年7月31日

C++ 内存管理中内存泄漏问题产生原因以及解决方法

摘要:C++内存管理中内存泄露(memory leak)一般指的是程序在申请内存后,无法释放已经申请的内存空间,内存泄露的积累往往会导致内存溢出。 一、内存分配方式 通常内存分配方式有以下三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, 阅读全文

posted @ 2021-07-31 23:08 Jcpeng_std 阅读(6) 评论(0) 推荐(0) 编辑

2021年7月30日

HTTP响应消息结构以及常见状态码

摘要:HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。 HTTP响应消 阅读全文

posted @ 2021-07-30 13:28 Jcpeng_std 阅读(8) 评论(0) 推荐(0) 编辑

2021年7月29日

Linux根据关键词查找文件/函数/结构体命令整理

摘要:一、查找文件 使用 Linux 经常会遇到这种情况:只知道文件中包含某些特定的字符串,但是不知道具体的文件名。需要根据“关键词”反向查找文件。 例如:查找当前目录下,包含“ipaddress”字符串的所有文件 (1)grep -rn "ipaddress" ./ (其中,r 表示递归, n 表示查询 阅读全文

posted @ 2021-07-29 21:41 Jcpeng_std 阅读(10) 评论(0) 推荐(0) 编辑

2021年7月28日

OVS与Linux Bridge的区别整理

摘要:OVS Open Virtual Switch(OVS) 是一个开源的多层虚拟交换机。 它通常作为基于软件的网络交换机或专用交换硬件的控制堆栈运行。 OVS 旨在通过编程扩展实现有效的网络自动化,还支持标准管理接口和协议,包括 NetFlow、sFlow、CLI、IPFIX、RSPAN、LACP、8 阅读全文

posted @ 2021-07-28 22:08 Jcpeng_std 阅读(13) 评论(0) 推荐(0) 编辑

C++模板的声明和定义为什么不能分写在.h与.cpp文件中

摘要:一般情况下,编写一个类一般将头文件(.h文件)和源文件(.cpp文件)进行分离。.h文件定义类和函数,.cpp文件中进行函数的实现, 然后提供给其他.cpp文件调用。但是在使用模板时,这种习惯性做法将变得不再有用,因为当实例化一个模板时,编译器必须看到模板确切的定义,而不仅仅是它的声明。 模板定义很 阅读全文

posted @ 2021-07-28 21:25 Jcpeng_std 阅读(20) 评论(0) 推荐(0) 编辑

2021年7月27日

传统二三层转发融合SDN的Hybrid交换机转发流程

摘要:Hybrid 交换系统(以下简称Hybrid 交换机)是交换机融合了OVS(Openflow vswitch)原生代码,集传统和Openflow 技术于一体的转发系统。主要解决纯Openflow 基于流表转发的SDN 网络场景,通常面临的四大问题: 管理链路和业务链路分开布线,导致运营成本高; 管理 阅读全文

posted @ 2021-07-27 12:48 Jcpeng_std 阅读(60) 评论(0) 推荐(0) 编辑

2021年7月26日

GCC编译器的流程

摘要:GCC编译器将源代码文件转换为可执行文件需要四个过程: 1.预处理(完成宏定义和include文件展开等工作) 将include包含的文件插入源文件 宏替换 根据条件编译选择要使用的代码 经过预处理后输出“.i”文件 2.编译(根据编译参数进行不同程度的优化,编译成汇编代码) 把c/c++文件“翻译 阅读全文

posted @ 2021-07-26 21:40 Jcpeng_std 阅读(11) 评论(0) 推荐(0) 编辑

2021年7月25日

C++11 智能指针——weak_ptr详解

摘要:和 shared_ptr、unique_ptr 类型指针一样,weak_ptr 智能指针也是以模板类的方式实现的。weak_ptr<T>( T 为指针所指数据的类型)定义在<memory>头文件,并位于 std 命名空间中。因此,要想使用 weak_ptr 类型指针,程序中应首先包含<memory> 阅读全文

posted @ 2021-07-25 16:52 Jcpeng_std 阅读(16) 评论(0) 推荐(0) 编辑

2021年7月24日

IO复用模型select、poll以及epoll的区别整理

摘要:IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处 阅读全文

posted @ 2021-07-24 21:50 Jcpeng_std 阅读(13) 评论(0) 推荐(0) 编辑

2021年7月23日

数据库事物特性以及隔离级别划分整理

摘要:如果一个数据库声称支持事务(MySQL的搜索引擎InnoDB支持,MyISAM不支持)的操作,那么该数据库必须要具备以下四个特性(简称ACID): 一、事物四大特性 1)原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到 阅读全文

posted @ 2021-07-23 14:20 Jcpeng_std 阅读(15) 评论(0) 推荐(0) 编辑

2021年7月22日

二叉查找树的查找、插入以及删除原理及代码实现

摘要:二叉查找树又称二叉排序树,它要么是空树,要么是具有下列性质的二叉树: 每个节点都有一个作为查找依据的关键码。所有节点的关键码互不相同; 若它的左子树不为空,则左子树上所有节点的关键码均小于根节点的关键码; 若它的右子树不为空,则右子树上所有节点的关键码均大于根节点的关键码; 它的左、右子树也是二叉查 阅读全文

posted @ 2021-07-22 12:24 Jcpeng_std 阅读(182) 评论(0) 推荐(0) 编辑

2021年7月21日

HTTP请求方式GET和POST区别整理

摘要:超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息 阅读全文

posted @ 2021-07-21 11:04 Jcpeng_std 阅读(29) 评论(0) 推荐(1) 编辑

2021年7月20日

进程间通信和多线程通信的区别整理

摘要:一、进程和线程 (1)进程:进程是资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进 阅读全文

posted @ 2021-07-20 22:17 Jcpeng_std 阅读(25) 评论(0) 推荐(0) 编辑

2021年7月19日

C++ 11 智能指针——shared_ptr类成员函数详解

摘要:C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared_ptr 模板类,用来管理指针的存储,提供有限的内存回收函数,可同时与其他对象共享该管理功能,从而帮助彻底消除内存泄漏和悬空指针的问题。 shared_ptr 类型的对象能够获得指针的所有权并共享该所有权:一旦他们获得 阅读全文

posted @ 2021-07-19 18:46 Jcpeng_std 阅读(177) 评论(0) 推荐(0) 编辑

2021年7月18日

【操作系统】虚拟内存的作用小结

摘要:在系统中所有的进程之间是共享CPU和主存这些内存资源的。当进程数量变多时,所需要的内存资源就会相应的增加。可能会导致部分程序没有主存空间可用。此外,由于资源是共享的,那么就有可能导致某个进程不小心写了另一个进程所使用的内存,进而导致程序运行不符合正常逻辑。为了更加有效的管理内存并少出错,现代系统提供 阅读全文

posted @ 2021-07-18 19:34 Jcpeng_std 阅读(17) 评论(0) 推荐(0) 编辑

2021年7月17日

常见内部排序算法对比分析及C++ 实现代码

摘要:内部排序是指在排序期间数据元素全部存放在内存的排序。外部排序是指在排序期间全部元素的个数过多,不能同时存放在内存,必须根据排序过程的要求,不断在内存和外存之间移动的排序。本次主要介绍常见的内部排序算法。 1. 直接插入排序 直接插入排序的算法思想是把待排序序列a[n]中的n个元素看作是一个有序表和无 阅读全文

posted @ 2021-07-17 17:11 Jcpeng_std 阅读(25) 评论(0) 推荐(0) 编辑

2021年7月16日

HTTP 2.0标准针对HTTP 1.X的五点改进

摘要:HTTP 2.0兼容HTTP 1.X,同时大大提升了Web性能,进一步减少了网络延迟,减少了前端方面的工作。HTTP 1.X存在的缺点如下: 1)HTTP 1.0一次只允许在一个TCP连接上发起一个请求,HTTP 1.1使用的流水线技术也只能部分处理请求并发,仍然会存在队列头阻塞问题,因此客户端在需 阅读全文

posted @ 2021-07-16 13:14 Jcpeng_std 阅读(15) 评论(0) 推荐(0) 编辑

HTTP工作过程(浏览器输入URL到返回HTML页面都经历了什么)

摘要:超文本传送协议(HyperText Transport Protocol,HTTP)是互联网上应用最为广泛的一种网络协议,它工作在应用层,使用TCP的80号端口提供服务。并且HTTP是工作在客户/服务器(C/S)模式下、基于TCP的协议。客户端是终端用户,服务端是网站服务器。 客户端通过使用Web浏 阅读全文

posted @ 2021-07-16 10:28 Jcpeng_std 阅读(33) 评论(0) 推荐(0) 编辑

2021年7月15日

TCP连接的11种状态

摘要:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP协议主要针对三次握手建立连接和四次挥手断开连接,其中包括了11中具体的连接状态。分别是: 一、LISTEN LISTEN:表示侦听来自远方的TCP端口的连接请 阅读全文

posted @ 2021-07-15 18:04 Jcpeng_std 阅读(25) 评论(0) 推荐(0) 编辑

导航