自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 HTTP1.0和HTTP1.1

http是一个超文本传输协议,它是基于TCP协议的应用层传输协议,简单点说就是客户端和服务端进行数据传输的一种规则。http是一个无状态协议,它本身不会对发送过得请求和响应的通信状态进行持久化处理。这样做的目的是为了保持http协议的简单性,从而能够快速处理大量的事务,提高效率。1.统一资源标识符(URI)2.请求的头部(request header)3.主体内容 (request body)1、GET /index.html HTTP/1.12、Host: 127.0.0.1:80003、Use

2022-07-03 22:14:13 389 1

原创 断点续传----位图

首先了解什么是位图和他的工作原理。位图就是bitmap的缩写,所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,该数据都是不重复的简单数据。通常是用来判断某个数据存不存在的。查找一个数是否存在,其实答案就是存在或者不存在,这种只需要回答是与否的问题,我们都可以用二进制中的位来表示,1表示该数存在,反之0表示该数不存在。位图中的每个数据单元都是一个bit位,这样子平时我们都要话32位4字节来存储数据,而现在我们只需要花1个字节就能“存储数据”,在空间上减少了约32倍的容量。例如40G的数据我们只

2022-06-23 19:12:17 214

原创 死锁的解决方法

产生死锁的必要条件?死锁的产生是必须要满足一些特定条件的:• 互斥条件:某资源只能被一个进程使用,其他进程请求该资源时,只能等待,直到资源使用完毕后释放资源。• 请求和保持条件:程序已经保持了至少一个资源,但是又提出了新要求,而这个资源被其它进程占用,自己占用资源却保持不放。• 不剥夺条件:任何一个资源在没被该进程释放之前,任何其他进程都无法对他剥夺占用。• 循环等待条件:当发生死锁时,所等待的进程必定会形成一个环路(类似于死循环),造成永久阻塞。处理死锁思路?• 预防死锁:破坏死锁的四个条件

2022-05-30 21:16:19 15622 1

原创 死锁/死锁的实现

首先明白死锁产生的原因:死锁指两个或两个以上线程执行过程中,因争夺资源而造成的互相等待现象。四个必要条件:1. 互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。2. 请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已经获得的资源不释放。3. 不剥夺:一个线程在释放资源之前,其他的线程无法剥夺占用。4. 循环等待:发生死锁时,线程进入死循环,永久阻塞C++编写锁的代码第一种是单线程对一个资源重复申请上锁;#include <iostream>#i

2022-05-27 00:10:37 420

原创 一些方便记忆的小例子

epoll和select的小例子:先看一下epoll和select的区别: 对于select来说,所有文件描述符都是在用户态被加入其文件描述符集合的,每次调用都需要将整个集合拷贝到内核态;epoll则将整个文件描述符集合维护在内核态,每次添加文件描述符的时候都需要执行一个系统调用。系统调用的开销是很大的,而且在有很多短期活跃连接的情况下,epoll可能会慢于select由于这些大量的系统调用开销。其他的区别这个例子不是很合适,如果有合适的例子可以分享出来。以下是其他区别可供参考。...

2022-04-06 17:59:34 1675

原创 不用除号乘号完成除法(C++)

这个问题是再力扣剑指offer上看到的,题目是:给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’第一印象看到这道题标注的是简单题,但我感觉他不简单,看了讲解之后感觉也不是很难。解题开始:首先一个思想就是不能用乘法,求余,咱们就用减法。比如29/5=5…4这个可以看成29-5=2424-5=1919-5=1414-5=99-5=4所以结果可以是商5余4大致的思想就有了 int divide(int a, int b)

2022-01-18 00:56:55 1604 3

原创 八大排序C++(含代码文件)

冒泡排序优化:如果数组在遍历过程中没有发生交换,说明数组已经变得有序,可以直接跳出循环。选择排序插入排序希尔排序堆排序桶排序快排归并排序代码文件下载地址(是免费的):八大排序下载连接...

2021-12-30 12:57:50 961 2

原创 C++括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。 有效括号组合需满足:左括号必须以正确的顺序闭合。 示例: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"]本题解用到的是回溯法,设定变量n,左括号open的数量小于n,当右括号close的数量小于左括号的时候可以加一个右括号。答题思路紧抓一个要点,疯狂选括号,要么是左括号,要么是右括号。只要左括号有剩余就...

2021-11-28 12:42:37 1514

原创 C++ 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

本题应用二分查找法:在升序数组 nums 中寻找目标值 target,对于特定下标 i,比较 nums[i] 和 target 的大小:如果 nums[i] = =target,则下标 i 即为要寻找的下标;如果 nums[i]>target,则target 只可能在下标 i 的左侧;如果 nums[i]<target,则target 只可能在下标 i 的右侧。基于上述事实,可以在有序数组中使用二分查找寻找目标值。代码如下:#include<stdio.h>#incl

2021-11-25 23:20:44 2352

八大排序C++完整代码(冒泡、希尔、插入、选择、快排、归并、桶、堆)

冒泡、希尔、插入、选择、快排、归并、桶、堆

2021-12-30

空空如也

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

TA关注的人

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