自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中的继承与多态

什么是继承、如何实现继承继承是面向程序设计的一个重要特性,它允许从一个或者几个基类中继承它们的数据成员和成员函数,并再次基础上增加自己的成员,通过继承, 可以吸收现有类的数据和函数来创建新类, 并增添新的成员增强此类, 这样可以节约程序开发的时间。C++中的继承其实就是在一个已存在类的基础上构建一个新的类,新的类称为派生类原来的类称为基类,这种派生类从基类上获得特性的现象称为继承。 派生可以分为单级派生和多级派生,也可从继承的角度分为单一继承成多重继承,他们的关系如下:...

2021-08-06 15:46:40 350

原创 简单写个归并排序

归并和快排用到的都是分治的思想,关于归并排序的步骤可以看我之前的文章,里边有动图和文字描述,很容易理解,关于快排的代码实现在之前已经写过,今天我们来看一下归并排序的代码实现。 归并排序思想是将待排序的序列递归地分为左右两个子序列,直到子序列无法在分割,即只剩下一个元素的时候,将划分好的子序列按大小顺序合并,最后得到的序列就是有序的。 在进行归并的时候,我们使用两个指针i,j分别指向左边序列[l,mid],和右边序列[mid+1,r]的第一个元素的位置...

2021-08-05 21:00:07 155

原创 C++构造函数类型

目录什么是构造函数默认构造函数转换构造函数复制构造函数(拷贝构造函数)深拷贝和浅拷贝析构函数三法则什么是构造函数通常我们将类中的数据成员定义为私有的,达到数据与外界隔离的目的,在类外无法访问类的数据成员,那么我们如何为类赋初值呢。 1、是否可以通过在定义类的时候直接对变量成员赋初值呢?像这样class Point{ int x = 0 , y = 0; ...} 答案是否定的,因为类只有在创建对...

2021-08-05 15:40:26 989

原创 简单写个快排

对于时间复杂度为O(nlogn)的高级排序算法,虽然排序原理了解,但是落实到代码上还是会有一写生疏,最近在刷leetcode时候看到一个排序题,所以有重新研究了一下快排的代码,想学习或者重温排序算法,可以去这里练习。快速排序使用了分治的思想,先选取一个主原pivot,比主原小的放在左边,比主原大的放在右边,在递归的对左边和右边进行同样的操作,最后就可以得到一个有序数组,关于排序的算法,可以参看我之前的文章,里边介绍了各种排序算法的操作步骤,配合动图可以快速的理解。 快排首...

2021-08-04 21:21:34 298

原创 C++知识点总结(一)

C++的编译过程编译过程分为四个过程:编译(编译预处理、编译、优化),汇编,链接。编译预处理:处理以 # 开头的指令;编译、优化:将源码 .cpp 文件翻译成 .s 汇编代码;汇编:将汇编代码 .s 翻译成机器指令 .o 文件;链接:汇编程序生成的目标文件,即 .o 文件,并不会立即执行,因为可能会出现:.cpp 文件中的函数引用了另一个 .cpp 文件中定义的符号或者调用了某个库文件中的函数。那链接的目的就是将这些文件对应的目标文件连接成一个整体,从而生成可执行的程序 .exe 文件。

2021-08-04 11:47:10 173

原创 一文通!带你探寻MySQL

MySQL体系结构 数据库由一下几个部分构成: 连接者:用于不同语言的代码程序和mysql进行交互 连接池:管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求,它的处理流程是主线程接收连接,接收连接交由连接池处理;如下图所示 管理服务和工具组件:系统管理和控制工具,例如备份恢复、Mysql复制、集群等; SQL接口:将SQL语句解析并且生成相应的对象; 查询解析器:将SQL对象交...

2021-07-23 12:59:23 289 1

原创 TCP/IP

本文为小林coding图解计算机网络系列tcp部分的学习总结,原文请移步https://blog.csdn.net/qq_34827674/article/details/105331617基本认识数据格式 TCP头的格式如图,其中标色部分是与tcp连接和断开相关的字段序列号:在建立连接时由计算机生成的随机数作为其初始值。用来解决网络包乱序问题。确认应答号:指下一次「期望」收到的数据的序列号,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收。用来解...

2021-07-15 12:15:58 164

原创 锁的作用,类型以及死锁

为什么需要锁 我们知道线程是可以共享进程的资源的,当多个进程同时使用同一个资源的时候,就会发生问题,下图展示了两个线程对同一个变量进行加法运算时的情况,理想状态下。A线程对i=50进行加+1后i=51,之后cpu切换线程B继续进行加1运算,此时i=52。但程序在实际运行中可能会出现错误,如下图: 当多线程相互竞争操作共享变量时,由于运气不好,即在执行过程中发生了上下文切换,我们得到了错误的结果,称之为竞争。操作共享资源的发代码成为临界区,为了解决竞争问题,我们可以让临界区互斥,也就是...

2021-07-09 15:58:10 693

原创 I/O多路复用以及Reactor 和 Proactor

本文内容为小林codig图解系统系列的知识点梳理,详细内容请移步原文IO复用:https://blog.csdn.net/qq_34827674/article/details/115619261Reactor 和 Proactor:https://blog.csdn.net/qq_34827674/article/details/116175772 之前讨论过五种网络io模型,但是对于多路复用IO并没有做过多的描述,所以此文着重梳理总结多路复用IO的相关知识点。 从简单的...

2021-07-05 16:40:04 507

原创 线程、进程基础知识

本文为学习小林coding《图解操作系统系列》总结,详细内容请移步原文https://blog.csdn.net/qq_34827674/article/details/107305756进程进程描述: 当我们编写的程序编译成可执行文件,运行后cpu就会执行我们程序中的指令,这个运行的程序就称为进程。我们的cpu不可能只运行一个程序,当我们的程序在等待资源或者其他原因暂时不能执行,那么cpu就要一直等待进程执行结束再去处理其他的工作,此时就会造成资源的浪费,所以我们可以在一个进程等...

2021-07-03 16:47:10 551

原创 进程间通信总结

本文内容为小林codig图解系统系列的知识点梳理,详细内容请移步原文:https://blog.csdn.net/qq_34827674/article/details/107678226进程间通信方式包括:管道,消息,共享内存,信号量,信号和socket管道: 每个进程的地址分配如下 所示 :管道分为匿名管道和命名管道匿名管道用‘|’表示,如 dmesg | grep -IE "df"。其意义为在dmesg log中查找ds字符串,管道起到将前一个命令的输出作为后一个命令的输..

2021-07-03 12:35:39 190

原创 网络IO模型总结

目录网络IO模型:阻塞IO:非阻塞IO多路复用IO:异步IO:阻塞与非阻塞、同步与异步:信号驱动IO:五种io对比总结:select和epoll对比:网络IO模型:网络IO的本质是socket的读取,socket在linux系统被抽象为流,IO可以理解为对流的操作。它会涉及到两个系统对象,一个是用户空间调用 IO 的进程或者线程,另一个是内核空间的内核系统, 比如发生 IO 操作 read 时,它会经历两个阶段:1. 等待数据准备就绪2. ...

2021-06-26 21:29:30 211

原创 排序算法学习总结

内部排序:数据保存在内存空间里,排序动作在内存中一次性完成外部排序:数据占用内存大于内存空间所进行的排序稳定性:任意两个相等的数据,排序前后顺序并不发生改变

2021-06-13 20:22:34 377

原创 极简TCP/IP------图解tcp/ip学习(基础知识)

计算机网络出现的背景计算机网络的发展协议协议分层和OSI参考模型传输方式分类地址

2021-06-11 15:34:56 498 2

空空如也

空空如也

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

TA关注的人

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