自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++中对象初始化赋值是否需要调用operator=函数

一般对于初始化类变量有两种方式:A a;A b = a;另一种方式是:A a ;A b;a =b;对于第一种方式,编译器相当于在b的初始化的时候,用a的引用作为复制构造函数的参数进行操作,相当于A b(a);而对于第二种方式,则应该是用了赋值构造函数,也就是=的重载。因为a和b本身都已经重载了,就相当于把b的值赋给a了。比如代码如下:class mytest{...

2019-09-25 20:29:43 331

原创 PETERSON互斥算法解析

对于互斥算法,主要有两种,一种是DEKKER算法,另一种是PETERSON算法,这一篇主要来说PETERSON算法。相比于DEKKER算法,PETERSON算法也解决了互斥访问问题,并且不需要像DEKKER算法一样强制轮流访问,可以正常的顺序进行工作,它的原理如下://进程ienter_region(i);//这个函数用于判断和决定进程i什么时候能进入临界区临界区leave_reg...

2019-09-19 10:34:35 3922 3

原创 Dekker互斥算法解析

引入Dekker互斥算法解决的是多进程访问一个临界区的保护问题和“after you”问题。我们首先来看,两个进程访问一段临界区的互斥问题://P进程如下:pturn = true;while(qturn);//临界区的资源pturn = false;//q进程如下:qturn = true;while(pturn);//临界区的资源qturn = fals...

2019-09-18 23:06:29 1575

原创 缓存淘汰算法 LRU

LRU(least recent used)算法,指的是最近最少访问淘汰算法,是内存不够的场景下,淘汰旧内容的策略。当内存中发生缺页异常的时候,需要从磁盘中读出最新的一页,那原来的一段时间内最少被访问的那一页就需要被替换掉。如何自己实现一个LRU队列,给定队列的容量,使之在常数时间内就能实现插入新的一页,删除最少访问的一页等操作呢?我们用基于hashmap和双向链表的方法:如上图所示:...

2019-09-18 16:47:21 189

原创 操作系统 虚存管理

把内存与外存有机的结合起来,从而得到一个容量很大的“内存”,这就是虚拟内存。可以分成按需取页和按需取段两种方式。基本原理:在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。另一方面,操作系统...

2019-09-18 15:56:36 875

原创 段页式存储管理

内存管理有三种:页式管理,段式管理和段页式管理。1. 页式管理页式管理是用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个实际的物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。每个物理块的大小一般取2的整数幂。内存的所有物理块从0开始编号,称作物理页号。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页...

2019-09-18 15:44:12 1533

原创 排序算法之 桶排序

桶排序假设输入数据服从均匀分布,而且需要已知待排序列的大概范围,是一种空间换时间的排序算法。桶排序的基本思想是:桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后依次把各个桶中的记录列出来记得到有序序列。桶排序是鸽巢排序的一种归纳结果。当要被排序的数组内的数...

2019-09-18 13:56:33 256

原创 TCP的三次握手四次挥手

1、TCP通信TCP是面向连接的协议。运输连接是用来传送TCP报文的,而运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。可以类比传统的电话网,拨通号码,开始通话,挂断电话。用户进程和服务器进程需要完成一次通信都需要完成三个阶段:连接建立 数据传送 连接释放TCP协议中,主动发起请求的一端称为客户端,被动连接的一端称为服务端。由于全双工,不管是客户端还是服务端,TCP连接建...

2019-09-18 13:08:54 348

原创 AMR编码文件解析

一、AMR简介基于新的网络和新的要求,无论是从节省传输频带资源,还是保持线路通信的高效率等方面来看,研究采用各种可变速率语音编码技术的系统都有重要意义。目前为了适应此需要提出了AMR(Adaptive Multi-rate) 的概念,即自适应多速率语音编码器,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声通话。AMR又分为两种,一种是...

2019-09-17 17:22:44 2125

原创 H.265编码和H.264编码的区别

目前很多摄像机采用了H.265的编码标准,H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同?一、什么是H.265H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的...

2019-09-17 14:50:18 37197 1

原创 操作系统 多线程之优先级翻转

优先级反转,是操作系统调度进程时出现的一种错误。是指在使用资源的时候时,可能会出现的这样一种不合理的现象,即:高优先级任务被低优先级任务阻塞,导致高优先级任务迟迟得不到调度。但其他中等优先级的任务却能抢到CPU资源。-- 从现象上来看,好像是中优先级的任务比高优先级任务具有更高的优先权。具体来说:当高优先级任务正等待信号量(此信号量被一个低优先级任务拥有着)的时候,一个介于两个任务优先...

2019-09-14 21:15:09 429

原创 操作系统中阻塞和挂起的区别和联系

阻塞和挂起是操作系统的进程的状态描述,容易混淆。阻塞:正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种状态称为阻塞状态。挂起:由于系统和用户的需要引入了挂起的操作,进程被挂起意味着该进程处于静止状态。如果进程正在执行,它将暂停执行,若原本处于就绪状态,则该进程此时暂不接受...

2019-09-14 11:14:31 6685 2

原创 进程和线程的区别

首先什么是进程?进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是CPU进行资源分配的最小单位。什么是线程?线程可以看作进程中的一个运行的实体,是CPU进行调度的单位,可以看作是一个轻量级的进程。他们的区别如下:①从定义上就能看出,进程是资源分配的最小单位,线程是CPU调度的最小单位。不同进程之间是不能共享数据和资源的,因为每个进程在创建的时候会分配独立的地址空间。而线程之...

2019-09-13 15:48:30 158

原创 牛客网 平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。话说这题有两种做法。首先平衡二叉树指的是:一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。所以直接来想的话,只要保证根节点的左右子节点都是平衡二叉树,并且两个子树的高度相差都是小于等于1就可以了。代码如下所示:class Solution {public: bool Is...

2019-09-07 20:06:00 247

原创 牛客网 丑数

把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。话说这道题最直接的办法就是遍历每个数字,如果这个数字能被2,3,5除尽,那么就是丑数,否则就不是。但是显然会超时。所以用一个好的办法:排序队列。分析:一个丑数的因子只有2,3,5,那么丑数p = 2 ^ ...

2019-09-04 23:02:57 163

精通Qt4编程

是给不方便买纸质书的同学的电子版阅读。完整且清晰,方便自学。

2017-10-17

C++ GUI Qt 4编程(第二版)

给不方便购买纸质书的同学们的电子版,完整且清晰,便于自学。

2017-10-17

空空如也

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

TA关注的人

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