自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C-表达式求值

整型提升 和算数转化

2024-01-16 16:55:54 809

原创 C-操作符详解

操作符知识点详解

2024-01-14 18:12:26 1004 1

原创 C++面试题分享

1.静态库和动态库如何制作及使用,区别是什么2.说一说进程调度算法有哪些?3. 什么是虚拟继承?他是如何解决菱形继承数据冗余和二义性问题的?4. 什么是孤儿进程,什么是僵尸进程,如何解决僵尸进程5.说一说进程通信的方式有哪些?6.说一说进程有多少种状态,如何转换

2023-10-10 12:21:40 177 1

原创 美团笔试题

给n个集合,可以选取其中两个集合,得到其并集的大小,求n个集合会产生的并集大小的平均值。考完研究半个小时,我是这样算的,有没有大佬给一下解决方法?

2023-10-07 21:38:41 116 5

原创 C进阶 -- 自定义类型

🏆 联合🏆🍭。

2023-10-02 10:41:37 166

原创 C进阶--字符函数和字符串函数介绍

C语言字符串函数介绍和模拟实现

2023-10-01 17:39:54 175 3

原创 c进阶--指针进阶

数组指针是数组还是指针?当然是指针啦?不然上一个是啥?当然,这肯定不是根本原因。我们知道整型指针int*pint;是能指向int 型数据的指针,浮点型指针指的是能指向float型数据的指针。===>数组指针是指向数组的指针。来,让我们看看这段代码,看看有没有小伙伴绕晕啦?(*^_^*)❓ p1,p2分别是什么?p1是我们刚见过的指针数组,p2是我们现在提到的数组指针。解释:p2先和结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p2。

2023-09-30 16:02:25 284 3

原创 C进阶--数据的存储

1.1基本内置类型⭕ 整形:char(char又叫短整型)shortintsigned intlong⭕ 浮点数:float(单精度浮点数)double(双精度浮点数)

2023-09-29 16:54:12 271 2

原创 Linux软硬连接与动静态库

软连接就好比windows下的快捷方式,当软件删除后,快捷方式就没用了,同理软连接在源文件删除后也无法使用,但硬链接文件大小和源文件是一样的,删除文件在某方面来说就是将硬链接数减少,彻底删除就是将硬链接数置为0。

2023-09-29 13:10:36 165

原创 ARP协议-介于数据链路层和网络层之间的协议

攻击者发送伪造的ARP响应来欺骗目标主机,将自己的MAC地址伪装成网关或其他合法主机的MAC地址。当用户发送域名解析请求时,该请求会被路由到最近的解析服务器,服务器会查询域名系统(DNS)来获取相应的IP地址,并将解析结果返回给用户。综上所述,当在浏览器中输入URL后,浏览器会解析URL,建立TCP连接,发送请求并接收服务器返回的数据,然后对数据进行渲染并呈现在页面中。页面呈现和交互:渲染后的数据经过布局和样式的处理后,会在浏览器中呈现出来,并且可以与页面上的脚本进行交互,如点击按钮、填写表单等操作。

2023-09-23 21:54:24 255 1

原创 【密码学补充知识】

密码学基本概念和数字签名,身份识别的介绍

2023-09-23 21:00:05 373 3

原创 负载均衡在线oj

2.相关技术⭐1.项目源码🌹2.相关技术⭐⭕C++ STL 标准库⭕Boost 准标准库(字符串切割)⭕cpp-httplib 第三方开源网络库⭕ctemplate 第三方开源前端网页渲染库⭕jsoncpp 第三方开源序列化、反序列化库⭕负载均衡设计⭕多进程、多线程3. 开发环境 ⚙⭕quanCentos 7 云服务器⭕vscode4.项目结构 🌼5. compile服务设计🌼compile: 编译并且运行代码,得到格式化的相关结果。

2023-09-21 22:08:53 324 3

原创 网络层--IP协议

IP报文介绍和分片分析

2023-09-10 17:31:05 871 4

原创 C++11 类型转换

reinterpret_cast支持不相近类型的转换。我们通过添加volatile关键字来取消这种优化。C的这种用法hi能出结果,(运行不会被中断的)这是控制台结果,我们还可以看一下监视和反汇编。从反汇编我们可以看到a直接呗替换成了常量 2。static_cast 支持相近类型的转换。监视窗口下我们发现 a和*p的值都是2。将test.cpp的内容打印到控制台上。要小心使用的const_cast。但是我们观察一下对象内部的成员。这都源于编译器对代码进行的优化。

2023-09-10 14:49:12 90 2

原创 传输层-TCP 的安全机制和高效策略

延迟应答可靠性:之前我们在UDP中谈到了,UDP不可靠但是简单,TCP可靠但是也要做更多的工作,那这些工作具体是什么呢?接下来让我们详细了解一下。确认应答机制(ACK机制)序号:我们可以把TCP的发送缓冲去看作一个char sendbuffer[NUM] 的数组每一个ACK都带有确认信号超时重传机制第二种情况收到了重复报文,可以通过序号来甄别。超时重传的时间限制该如何设定?时间短 :会收到大量重复报文;时间长:client与server太用心效率低;

2023-09-08 19:56:50 691 5

原创 传输层协议 --TCP报文格式详细介绍

双方在进行网络通信的时候,由于TCP是保证数据按序到达的,即便发送端将要发送的数据分成了若干个TCP报文进行发送,最终到达接收端时这些数据也都是有序的,因为TCP可以通过序号来对这些TCP报文进行顺序重排,最终就能保证数据到达对端接收缓冲区中时是有序的。序号和确认序号的作用就在此很好的发挥了,首先 序号和确认序号可以将请求和应答一 一对应,收到的报文如果是乱序的,可以对序号进行排序(解决乱序问题),其次 确认序号表示序号确认之前的序号全部收到,也就允许部分确认丢失是或者不给应答。

2023-09-08 17:10:31 1176 1

原创 Linux进程间通信

重点介绍了进程间通信的管道通信

2023-09-07 17:41:02 90

原创 传输层协议--UDP

快速了解 传输层 UDP协议

2023-09-06 11:45:40 664

原创 文件系统与inode编号

文件系统知识,inode,文件描述符,重定向的解释

2023-09-04 20:21:25 115

原创 Linux 进程控制

2. 进程一旦变成僵尸状态,那就刀枪不入,“杀人不眨眼”的kill -9 也无能为力,因为谁也没有办法杀死一个已经死去的进程。如果子进程已经退出,调用wait/waitpid时,wait/waitpid会立即返回,并且释放资源,获得子进程退出信息。如,子进程运行完成,结果对还是不对,或者是否正常退出。通常,父子代码共享,父子再不写入时,数据也是共享的,当任意一方试图写入,便以写时拷贝的方式各自一份副本。1. 子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。

2023-09-03 20:07:17 307

原创 Linux环境基础开发工具

xshell+sshxshell--充当客户端,提供远程登录服务yum背景知识在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装. 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.这个工具用于windows机器和远端的Linux。

2023-09-02 11:33:05 2168

原创 Linux 权限

超级用户可以在Linux下做任何事情,几乎不受限制,而普通用户一般只能在自己的工作目录下(/home/xxx)工作,以及在系统上做有限的工作。而不论这个用户是否有这个文件的写权限.?可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件。换句话来说,所有的权限的概念都是用来限制普通用户的,而超级用户几乎不受限制。(1)超级管理员删除 (2)该目录的所有者删除(3)该文件的所有者删除。

2023-09-01 13:43:46 384

原创 网络基础入门

而任何一台主机收到数据后,都要先自底向上贯穿协议栈来完成数据的解包和分用,在这个过程中,每一层协议都会将对应的报头信息提取出来。内核上,相同层不能直接通信,但是这样理解可能比较直观,但是实际上两层的通信就好比你和你的朋友住在同一个小区的不同栋楼,他要给你送礼物,只能先从当前楼下楼梯再从你所在的楼上楼梯,但是你只需要关注的是他把礼物送到你手上了。如果不好理解,这么来说,报头就是快递通过不同地方,如发货商,快递站(对应不同层),发货商会对商品做包装,快递站也会对商品进行再次包装,这个包装就和报头是等价的。

2023-08-26 18:52:30 1104

原创 C++ 异常

有可能单个的catch不能完全处理一个异常,在进行一些校正处理以后,希望再交给更外层的调用链函数来处 理,catch则可以通过重新抛出将异常传递给更上层的函数进行处理。2. 返回错误码的传统方式有个很大的问题就是,在函数调用链中,深层的函数返回了错误,那么我们得层 层返回错误,最外层才能拿到错误,具体看下面的详细解释。1. 异常会导致程序的执行流乱跳,并且非常的混乱,并且是运行时出错抛异常就会乱跳。4. C++标准库的异常体系定义得不好,导致大家各自定义各自的异常体系,非常的混乱。

2023-08-26 16:05:18 307

原创 C++11 Lambda表达式

Lambda表达式简介Lambda表达式是现代C++在C++11和更高版本中的一个新的语法糖。它是一种定义匿名函数对象的便捷方法,常用于封装传递给算法或异步方法的几行代码。Lambda表达式可以在调用或作为函数参数传递的位置处定义,可以捕获上下文中的变量供函数使用。Lambda表达式的语法定义包括捕获列表、参数列表、可变规格、异常说明、返回类型和函数体。

2023-08-25 21:49:28 105

原创 C++11 入门

C++11名字的由来在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。

2023-08-25 21:09:00 162

原创 ​​Linux 信号量​​​​

但POSIX可以用于线程间同步。生产者在生产数据前申请到的是blank位置,当生产者生产完数据后,该位置当中存储的是生产者生产的数据,在该数据被消费者消费之前,该位置不再是blank位置,而应该是data位置。2.如果blank_sem的值为0,则信号量申请失败,此时生产者需要在blank_sem的等待队列下进行阻塞等待,直到环形队列当中有新的空间后再被唤醒。虽然生产者在进行生产前是对blank_sem进行的P操作,但是当生产者生产完数据,应该对data_sem进行V操作而不是blank_sem。

2023-08-20 18:45:30 159

原创 vector的迭代器失效问题

vector的迭代器问题

2023-08-20 14:25:55 186

原创 栈和队列--受限制的线性表

限定仅在队头删除,队尾插入的线性表(FIFO/LILO -- 先进先出,后进后出)在计算过程中依次将余数压入栈中,计算完毕,在依次弹出栈中的余数就是数制转换的结果。这几个其实也很简单,(偷偷说)其实其中的而部分题目我更愿意用字符串来做。:限定仅在表尾进行操作的线性表(LIFO/LIFO--先进后出,后进先出)4.2循环队列--队列的顺序表示和实现。4.3链队--队列的连时表示和实现。3.栈与递归(⭐⭐⭐⭐⭐)4.队列的表示和操作的实现。2.栈的表示和操作的实现。1.1栈的定义和特点、

2023-08-14 18:12:32 129

原创 c++复习--类和对象

比如:对于电脑这样一个复杂的设备,提供给用户的就只有开关机键、通过键盘输入,显示器,USB插孔等,让用户和计算机进行交互,完成日常事务。拷贝构造函数是一个对象初始化一块内存区域,这块内存就是新对象的内存区,而赋值构造函数时对于一个已经被初始化的对象来进行赋值操作。这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载,比如。如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是。,将一件事情拆分成不同的对象,靠对象之间的交互完成。

2023-08-14 18:04:33 199

原创 ​​C++多态​​

1. 多态的概念2. 多态的定义及实现多态的构成条件虚函数虚函数的重写特例override 和 final1. final:修饰虚函数,表示该虚函数不能再被重写2.override: 检查派生类虚函数是否重写了基类某个虚函数,如果没有重写编译报错。重载、覆盖(重写)、隐藏(重定义)的对比3. 抽象类概念接口继承和实现继承4. 多态的原理虚函数表多态的原理动态绑定与静态绑定5. 单继承和多继承关系中的虚函数表6. 继承和多态常见的面试问题1. 多态的概念。

2023-08-14 17:00:43 149

原创 C++ 继承

1.继承的概念及定义1.继承的概念及定义定义定义格式继承关系和访问限定符继承基类成员访问方式的变化1. 基类private成员在派生类中无论以什么方式继承都是不可见的。这里的不可见是指基类的私有成员还是 被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。2. 基类private成员在派生类中是不能被访问,如果基类成员不想在类外直接被访问,但需要在派生类中能 访问,就定义为protected。可以看出保护成员限定符是因继承才出现的。

2023-08-13 18:56:34 187 2

原创 Linux进程概念(续)

进程地址空间的一些补充介绍

2023-07-25 16:59:06 74

原创 Linux进程概念

确定是谁应该先获得某种资源,谁后获得通过一些数据表明优先级老的优先级+nice值。

2023-07-24 18:12:16 55

原创 线性表详解

一篇博文带你了解线性表,

2023-04-19 15:47:30 1244

原创 【第一章】SQL基础知识

SQL是用于访问和处理数据库的标准计算机语言。SQL指结构化查询语言,全称是Structured QueryLanguage。使用SQL可以访问和处理数据库。本章就来学习SQL基础知识,主要内容包括认识SQL、常量、变量、运算符以及各种类型的SQL语句等。sQL是用于访问和处理数据库的标准计算机语言。SQL指结构化查询语言,全称是Structured QueryLangua目标:·了解SOL的概念。·掌握SQL的常量。·掌握SQL的变量。·掌握SQL的运算符。·掌握SQL的通配符.·掌握SQL的注释符。

2023-02-02 23:36:21 2322

原创 【c++复习梳理】--基础入门语法

c++函数基础语法入门

2023-01-10 16:58:26 372 2

原创 类和对象(中)

继上篇类和对象的补充

2022-08-22 14:27:39 359 2

原创 类和对象—6个默认成员函数

解析c++6大成员函数之构造函数与析构函数

2022-07-24 17:39:06 234 4

原创 【c++入门篇】

对引用,函数重载等c++基本概念的快速了解

2022-07-19 12:20:16 142 2

空空如也

空空如也

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

TA关注的人

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