自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 网络:网络基础3(重点)之数据链路层

以太网“以太网”不是一种具体的网络,而是一种技术标准以太网帧格式如图:源地址和目的地址指的是网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的;帧协议类型字段有三种值:分别对应IP、ARP、RARP;帧末尾是CRC校验码;MAC地址用来识别数据链路层中的相连的节点,长度是6个字节(48位),在网卡出厂时就确定了,不能修改,Mac地址通常是唯一的(虚拟机中的Mac地...

2019-11-24 16:55:39 257

原创 网络:网络基础3(重点)之网络层

IP协议首先,我们必须知道,IP协议实现了将数据从A主机跨网络经过路径选择将数据送至B主机IP在理解上要分为网络号+主机号;基本概念主机:配有IP地址,但是不进行路由控制的设备;路由器:即配有IP地址,又能进行路由控制;节点:主机和路由器的统称;协议头格式如图:说明:(1)4位版本:指定IP协议的版本,对于IPv4来说是4个字节,对于IPv6来说是16个字节;(2)4位头...

2019-11-24 11:14:43 291

原创 网络:网络基础2(重点)之传输层

传输层负责将数据从发送端传送到接收端再谈端口号端口号范围划分:0-1023:HTTP、FTP、SSH等应用层协议,我们无法绑定,HTTP协议端口号不能修改。1024-65535:操作系统动态分配的端口号,客户端程序的端口号,都是os从这个范文分配的。一些知名端口号:ssh服务器:22端口;ftp服务器:21端口;telnet服务器:23端口;http服务器:80端口;https服务器:44...

2019-11-23 16:09:32 472

原创 Linux下重要目录和指令

Linux相关重要目录的指令进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.进入目录需要进入者具有x权限;执行用户在目录中具有r权限可进行ls操作;具有w权限可以进行touch/rm/mv操作;具有x权限可进行cd操作;Linux下的重要目录/proc在Linux系统下,/proc目录是一种proc文件系统,但它...

2019-11-23 12:00:13 113

原创 C++进阶:C++类型转换

在C语言中,转换的可视性比较差,所有的转换形式都是以一种相同形式书写,难以跟踪错误的转换转换使用场景:(1)对对象(变量)进行初始化;(2)对对象(变量)进行赋值;(3)传参;(4)返回值接收;static_caststatic_cast用于非多态类型的转换(静态转换),编译器隐式执行的任何类型转换都可用static_cast,但它不能用于两个不相关的类型进行转换(相当于C语言中隐...

2019-11-22 17:50:01 150

原创 C++进阶:封装unordered_map和unordered_set以及海量数据面试题

使用哈希桶对unordered_map和unordered_set进行封装、海量数据面试题(位图的介绍、布隆过滤器、倒排索引)、unordered_map与map的相同和不同

2019-11-19 14:22:44 418

原创 网络:网络基础2(重点)之应用层

网络版计算器、URL、HTTP协议格式(重要)、HTTP服务器、HTTP请求方式、HTTP响应状态码、HTTP常见Header

2019-11-17 18:41:00 248

原创 网络:网络编程套接字

套接字:ip地址+port传输层的两个协议socket API(重点)基于两个协议所实现的服务器(重点)三次握手与四次挥手初识

2019-11-15 16:54:12 1495

原创 C++进阶:哈希结构

哈希相关概念哈希:用来进行高效查找的一种数据结构首先,我们查找的方式有:(1)顺序查找,它的时间复杂度是O(n)(2)二分查找(有序),它的时间复杂度是O(log2N)(3)利用二叉平衡搜索树(AVL、红黑树):时间复杂度是O(log2N)(4)哈希,时间复杂度是O(1)前三种方法元素之间都要进行比较,因此时间复杂度降不下来,而哈希元素之间不需要比较(最差情况下只需少许比较即可找到)...

2019-11-13 15:44:40 277

原创 Linux:进程间关系与守护进程

进程间关系除了我们所知道的父子关系,兄弟关系等,进程之间还有两个很重要的关系,即进程组关系和会话关系。进程组作业和会话例如:[Daisy@localhost Linux3]$ sleep 1000 | sleep 20000 | sleep 3000 &[1] 3042我们进行了3个进程,&表示放在后台运行,运行的结果是[1] 3042其中1表示作业号,3042是...

2019-11-10 14:09:34 108

原创 网络:网络基础1

网络发展(1)独立模式:计算机之间相互独立,在早期是用软盘将数据从一个主机拷贝到另一个主机;(2)网络互联:多台计算机连接在一起,完成数据共享;(将所有主句用网线连在一起,实现通信,共享数据由服务器集中管理)如图:(3)局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起(4)广域网WAN:将远隔千里的计算机连接在一起局域网和广域网只是一个相对的概念。协议协议就是一种约定...

2019-11-10 13:13:08 224

原创 Linux:读者写者问题

读者写者问题也满足321原则,读者与读者之间是共享关系,写者和写者之间是互斥关系(不可能同时多个写者写,只有一个写者能够占用缓冲区),读者和写者之间是互斥和同步的关系(写者在写时,读者不能读,读者在读时,写者也不能写,即互斥关系),有一个临界资源读写锁接口初始化函数原型是:int pthread_rwlock_init(pthread_rwlock_t *restrict rwlo...

2019-11-09 16:20:02 1359 1

原创 Linux:线程安全的单例模式及STL、智能指针与线程安全

单例模式特点:某些类,只具有一个对象(实例)称为单例,自行实例化并向整个系统提供这个实例,例如我们实现的线程池,缓存等。常见的单例模式有懒汉模式和饿汉模式。总结:单例模式的特点:(1)单例类只能有一个实例(2)单例类必须创建自己的唯一实例(3)单例类必须给其他对象提供这一对象实例单例模式的优点:(1)单例模式只能创建一个对象,所以在资源方面可以做到节约资源(2)单例模式不需要频...

2019-11-09 15:44:09 324

原创 Linux:线程池

基础概念概念一种线程使用模式,线程过多会带来调度开销,影响缓存局部性和整体性能,而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务,避免了在处理短时间任务时创建和销毁线程的代价,他能保证对内核的充分利用,还能防止过分调度,也就是用来解决效率问题。应用场景1、需要大量的线程来完成任务,且完成任务的时间比较短。2、对性能要求苛刻的应用3、接受突发性的大量请求,但不至于使服务器因...

2019-11-08 21:58:44 106

原创 Linux:线程同步(条件变量、生产者消费者模型,POSIX信号量)

同步与条件变量介绍使用互斥量和条件变量来实现生产者-消费者模型(使用阻塞队列)POSIX信号量(使用环形队列来实现生产者-消费者模型)

2019-11-08 21:10:19 246

原创 Linux:线程安全、可重入、死锁

概念线程安全:多个线程并发同一段代码时,不会出现不同的结果,常见于对全局变量和静态变量进行操作,并且没有被锁保护的情况下,会出现线程不安全的问题。可重入:同一个函数被不同的执行流调用,当前一个流程没有被执行完,就有其他的执行流再次进入称为重入,一个函数在重入的情况下,运行结果不会出现任何不同或者任何问题,则该函数称为可重入函数,(因此可以看出,一个函数可重入,一定是线程安全的),否则称为不可重...

2019-11-07 15:51:30 317

原创 Linux:线程互斥

进程线程互斥相关概念临界资源:多线程执行流共享的资源叫做临界资源临界区:每个线程内部,访问临界资源的代码,叫做临界区互斥:任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对临界资源起保护作用。原子性:不会被任何调度机制打断的操作,该操作只有两种状态:要么完成,要么未完成互斥量大部分情况,线程使用的数据都是局部变量,变量的地址空间在线程栈空间中,...

2019-11-06 17:08:35 471

原创 C++进阶:STL之树形结构的关联式容器4(底层结构:红黑树)

红黑树的概念、性质(重要)、定义、实现(重要)、插入(重要);红黑树的迭代器、改造红黑树、使用红黑树实现map和set(重要)

2019-11-05 21:07:19 368

原创 Linux:线程概念及线程控制

1、线程相关概念2、线程控制的接口3、线程id及进程地址空间

2019-11-03 15:11:48 141

原创 Linux:进程信号

信号入门概念信号是一种操作系统与进程之间某些事件发生的通知机制,具有随机性(异步),进程后续必定要认识信号,知道信号怎么处理,操作系统向进程发信号(操作系统是进程的管理者,可以向进程发信号),就是操作系统找到目标进程PCB,然后修改PCB中位图中的比特位,由0置1,因此这种说法不正确,而应该叫做操作系统向进程写信号(但是一般还是采用前面那种叫法);当获取一个信号时,并不一定会立即做这件事情,...

2019-11-01 16:04:41 210

空空如也

空空如也

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

TA关注的人

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