logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

多态详解(c++)

本文主要介绍了C++多态的概念、实现原理及相关特性。多态分为编译时多态(函数重载和模板)和运行时多态(虚函数机制)。运行时多态需要满足两个条件:基类指针/引用调用虚函数,且该虚函数在派生类中被重写。文章详细讲解了虚函数的重写规则、协变、析构函数重写的必要性,以及override和final关键字的使用。此外,还介绍了纯虚函数和抽象类的概念,以及多态底层实现的虚函数表机制。通过虚函数表指针,对象在运

文章图片
#c++#开发语言
⽹络基础概念

本文介绍了计算机网络的发展历程和协议分层模型。从最初的独立计算机模式到局域网、广域网的演进,说明了网络互联的重要性。重点讲解了TCP/IP五层(或四层)模型:物理层负责信号传输,数据链路层管理局域网通信,网络层处理IP路由,传输层确保端到端传输,应用层实现具体业务。协议分层实现了模块化解耦,便于维护升级。文章还解释了协议的本质是通信双方的约定,以太网名称的由来,以及局域网通信原理和MAC地址的作用

#网络#linux
Socket编程UDP

socket 本质就是进程打开的一个网络文件,文件缓冲区对应网卡;进程通过文件描述符读写缓冲区,操作系统负责将数据投递到网络。服务端创建套接字当我们在进行初始化服务器创建套接字时,就是调用socket函数创建套接字,创建套接字时我们需要填入的协议家族就是AF_INET,因为我们要进行的是网络通信,而我们需要的服务类型就是SOCK_DGRAM,因为我们现在编写的UDP服务器是面向数据报的,而第三个参

#udp#网络#网络协议
Linux生产者消费者模型

生产者-消费者模型通过阻塞队列解决生产者和消费者之间的强耦合问题,实现解耦。生产者将数据放入队列后无需等待消费者处理,消费者直接从队列获取数据,平衡双方处理能力。该模型具有降低生产消费成本、支持忙闲不均和维护松耦合关系的优点。基于C++的阻塞队列实现中,通过互斥锁保证数据安全,条件变量实现线程同步。关键点包括:使用while而非if判断队列状态避免虚假唤醒,生产者消费者分别在不同条件变量下等待,操

#linux
进程的控制(1)

本文摘要介绍了Linux进程管理的核心概念,包括进程创建、终止和等待。在进程创建部分,详细讲解了fork函数的工作原理、写时拷贝技术及其重要性;进程终止部分阐述了退出场景、常见退出方法及exit与_exit的区别;进程等待部分说明了必要性、wait/waitpid方法的使用及返回值处理,重点分析了阻塞与非阻塞等待机制。文章通过代码示例和图示,系统性地呈现了Linux进程管理的核心机制和技术原理。

#linux#操作系统
Linux下make/makefile的介绍

分别是Access,Modify,Change三种时间1.Modify修改文件内容时间(修改文件内容同样会影响文件属性时间)2.Change修改文件属性时间3.Access访问时间但不是每次访问都会修改时间,这样会导致效率低下,所以当访问次数达到一定次数后才会修改。

#linux#运维#服务器
进程状态的理解

本文介绍了进程的三种基本状态(运行、阻塞、挂起)及其在Linux系统中的具体实现,包括R运行、S睡眠、D磁盘休眠等状态。重点分析了僵尸进程(Z状态)的形成原因:当子进程退出但父进程未读取其退出状态时产生。僵尸进程会持续占用系统资源,导致内存泄漏等问题。文章阐述了回收僵尸进程的实质是释放PCB资源和传递终止状态,并强调及时检测和回收僵尸进程对系统管理的重要性。父进程应通过wait()/waitpid

#linux#运维#服务器
到底了