logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

面试题总结 ---Linux篇

操作系统在物理内存开辟一块内存,多个进程通过系统调用把这块物理内存映射到自己的虚拟地址空间。进程读写,直接操作物理内存,数据不需要在内核缓冲区和用户缓冲区之间拷贝,所以速度最快。本身不带同步互斥机制,需要我们自己加信号量 / 互斥锁保护,防止并发读写冲突。因为每个进程都有自己的虚拟地址空间,相互隔离,不能直接进行读写,ipc就是一套让不同进程之间可以进行交流,同步信息的机制。二元信号量就是os将共

文章图片
#前端
Linux -基础开发工具

但是这样太麻烦了, 于是有些人把⼀些常用的软件提前编译好, 做成软件包(可以理解成windows上 的安装程序)放在⼀个服务器上, 通过包管理器可以很⽅便的获取到这个编译好的软件包, 直接进行安装。在Xshell中输入命令less /etc/yum.repos.d/CentOS-Base.repo(less的作用是为了上下翻动) 就可以看到各个安装包的地址;评估操作系统的好坏,需要看操作系统的生态

文章图片
#linux#服务器#运维
版本控制器-git

所谓的版本控制器,就是能让你了解到⼀个文件的历史,以及它的发展过程的系统。首先需要在git中复制项目的链接,然后在xshell中创建好一个放置代码的目录,其中url就是我们复制的链接;通俗的讲就是⼀个可以记录⼯程的每⼀次改动和 版本迭代的⼀个管理系统,同时也方便多⼈协同作业。但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越。多,文件多不是问题,问题是:随着版本

文章图片
#git#linux
Mysql--索引的操作

一个表中,最多有一个主键索引,当然可以使符合主键主键索引的效率高(主键不可重复)创建主键索引的列,它的值不能为null,且不能重复主键索引的列基本上是int。

文章图片
#mysql#数据库
C++初窥:从青萍之末开始

简单来说命名空间就是为了解决大量在全局作用域中的函数,变量,类的命名冲突问题而产生的,用关键词namespace来定义。// 1. 正常的命名空间定义namespace bit // bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 命名空间中可以定义变量/函数/类型/结构体int val;在定义和声明函数的时候,为函数的参数指定一个缺省值,这个就叫做缺省参数,如果没有给函数的参数

文章图片
#数据结构#开发语言#c++
C/C++内存管理修炼指南

以上就是程序的内存区域划分;想象一下,一个程序就像一个厨师,而内存就是他的大厨房。(栈)(1)位置:厨房里有一个固定的、不大的台面。(2)用途:厨师把正在做的菜的食材(局部变量)放在这里。比如切好的葱姜蒜。(3)特点:用完即清。这道菜做完(函数调用结束),台面就会被清空,食材扔掉。井井有条,但空间小。(堆):(1)位置:厨房旁边一个超大的、可以自由使用的仓库。(2)用途:存放不常用但量大的食材。比

文章图片
#c语言#c++#java
五种IO模型

我们这里所说的五种IO模型指的是将数据从传输层的接收和发送缓冲区进行的IO,不再是我们之前所说的在本地进行的基础IO,之前我们的网络所进行的IO使用的是send,recv接口,可是我们并没有对IO的效率进行考虑,这篇文章就是来讨论这个问题的;

文章图片
#网络#linux#服务器
基于tcp协议实现远程命令操作功能服务器

TCP是面向连接的,也就是需要连接的,使用Tcp协议的客户端进行通信的时候必须要先和服务器建立连接,这就要求服务器随时都要处于等待连接的状态,这也就是所谓的监听,才能进行通信,而Udp一旦绑定就自动建立连接,可以直接通信;backlog是指服务器中全链接的个数,其实也就是排队个数;还有就是Tcp是面向字节流进行通信的,Udp是面向数据报通信,两者的区别是面向数据报是不可能会发生读不完这种情况的,但

文章图片
#tcp/ip#网络协议#网络
传输层协议Tcp详解----上

TCP全称为 "传输控制协议"). ⼈如其名, 要对数据的传输进行⼀个详细的控制;TCP 是互联网传输层核心可靠协议,面向连接、有序无差错传输,通信前需三次握手建立连接,传输中进行确认应答、超时重传、流量控制与拥塞控制保障数据完整送达,通信结束通过四次挥手断开连接,以字节流形式收发数据,具备丢包重传、去重排序能力,适用于文件传输、网页访问等对数据完整性要求极;由上图我们可以知道TCP协议位于传输层

文章图片
#udp#tcp/ip#网络
POSIX信号量+生产消费模型应用+环形缓冲区实现

信号量就是一个带计数的锁,用来控制最多同时有多少个线程能进入某段代码(共享资源)。互斥锁(mutex):只能 1 个线程进,同一时刻只允许一个线程进入临界区,这样的信号量就叫做互斥锁,也叫做也叫做二元信号量;信号量(semaphore):可以设置 N 个线程 同时进入临界区;申请信号量的本质:申请一份 “许可”,让线程可以继续往下执行;没有许可就阻塞等待。“资源是否准备成功 == 申请信号量是否成

文章图片
#linux#c++
    共 14 条
  • 1
  • 2
  • 请选择