自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入浅出谈谈IP协议

深入浅出谈谈IP协议 经过老师的介绍,最近开始学习《linux高性能服务器编程》这本书。读完才发现作者的伟大,写的是真的很完美,特别通俗易懂。为了给自己的学习和复习方便使用,我总结如下的一些知识点,更多的就是读书笔记吧。我也将这本书生成了链接,可以供大家的学习,附链接:https://pdf.maitube.com/pdf/?e=ag/CZgi6GyOpkaIP协议:点对点的通讯协议,作用...

2020-07-27 21:34:25 520

原创 排序算法--(插入、选择、快排、冒泡、希尔、堆、归并)

排序算法直接插入排序 希尔排序 简单选择排序 冒泡排序 快速排序 堆排序 归并排序稳定性:排序过程中,有没有跳跃式的交换数据。 排序算法 时间复杂度 辅助空间 ...

2019-12-16 21:11:39 319

原创 跳表

跳表定义:查找:插入:删除:打印:其他函数:复杂度:定义:跳跃表(英文名:Skip List),于 1990 年 William Pugh 发明,是一个可以在有序元素中实现快速查询的数据结构,其插入,查找,删除操作的平均效率都为O(logn)。跳跃表的整体性能可以和二叉查找树(AVL 树,红黑树等)相媲美,其在Redis...

2021-02-24 16:10:42 301 3

原创 友元

友元友元函数1.友元函数的定义2.全局函数作为友元函数3.类成员函数作为友元函数友元类论友元 1.友元函数的位置2.友元的利弊3.注意事项 我们知道在C++中有三大特性,就是封装,继承,多态。对于一个类来说,我们实现了一个类的封装和隐藏。在我们平时的时候,都会将类的数据成员进行私有化,提供一个接口负责外界对私有...

2021-02-22 18:00:33 241

原创 从代码学会多继承

从代码学会多继承从之前的文章中,学会了继承及单继承的知识,这里来学习一下多继承。对于多继承来说,就是一个子类继承了多个父类。可以参考单继承的文章,作为补充知识。https://blog.csdn.net/weixin_42078660/article/details/113755197多继承语法派生类名::派生类名(参数总表):基类名 1(参数表 1),基类名(参数名 2)......

2021-02-22 15:36:47 177

原创 从代码读懂继承

从代码看懂继承文章内容较长,可以收藏慢慢观看,本文中直接从代码的实际讲解和书写开始,读完本文就可以上手书写继承。继承的概念: 1.什么叫继承呢? 2.继承的语法。 3.派生类的组成:继承方式成员变量的继承:成员方法的继承 构造函数 拷贝构造函数 赋值运算符重载 友元函数 析构函数 ...

2021-02-08 19:33:41 162

原创 搞懂GDB的实现原理

搞懂GDB的实现原理对于GDB我们之前的文档中大概的介绍了一些基本的使用原理,但是呢,并不知道GDB是如何实现的,对于这个问题,在面试中也遇到过一次,参考了下别人的博客,进行了下总结,也是方便自己的学习和记忆。如有问题,请多多指教。1.GDB的调试组成架构。2.GDB调试的三种方式:1.attach并调试一个已经运行的进程,2.运行并调试一个新的进程3.远程调试目标机上新创建...

2021-02-06 21:22:17 1047

原创 最长公共子序列和最长公共子串

最长公共子序列和最长公共子串最长公共子序列:最长公共子串:最长公共子序列:给定一个序列X=<x1,x2,x3,x4...,xm>,另一个序列Z=<z1,z2,z3,z4...,zk>,若存在一个严格递增的X的下标序列<i1,i2,i3,...,ik>对所有的1,2,3,...,k,都满足x(ik)=zk,则称Z是X的子序列比如Z=<B,C,D,B>是X=<A,B,C...

2021-01-26 13:16:42 497

原创 详解http协议

详解http协议本文通过自己的一些学习和参考了《图解HTTP》1.定义:http协议是超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。是一种详细规定了浏览器和万维网直接按互相通信的规则,允许将HTML文档从web服务器传送到Web服务器。默认的端口是80.基于 请求-响应 的模式...

2021-01-25 14:29:39 867

原创 poll与epoll的实现

poll与epoll在linux中,IO多路转接模型,除了select模型可以用,还有poll和epoll两种模型,对于 poll模型现在基本上不用了。poll模型:1.流程:1.用户定义了一个描述符的事件结构体数组,将需要监控的描述符以及 对应的事件信息添加到数组中去。2.调用poll函数,将有效的节点拷贝到内核中进行监控,有描述符就绪或者等待时间超时的时候返回,返回时每个节点revent...

2021-01-21 12:07:38 169

原创 读懂select函数

读懂select函数1.定义:select函数属于IO多路转接模型中的监控函数,主要是监控描述符的读写和异常。2.接口:void FD_ZERO(fd_set *set); 清空集合fd_set: 描述符集合的结构体,里面只有一个数组,当位图使用,大小为1024。set:为描述符集合。void FD_SET(int fd, fd_set *set); 将描述符添加到集...

2021-01-19 16:22:11 183 1

原创 五种IO模型

五种IO模型在网络上已经有很多大佬写了很多关于IO模型的博客,我这篇主要是自己在学习中的总结,也有很多借鉴别人的地方。IO:等待数据拷贝的过程(内核态->用户态)现在常用的五种IO模型:阻塞型IO,非阻塞型IO,信息驱动型IO,多路转接IO,异步IO。首先我们要搞清楚的是 什么叫 阻塞和非阻塞?阻塞:一个函数发起了功能调用,若当时不具备...

2021-01-19 13:53:35 184

原创 布隆过滤器(Bloom filter)

布隆过滤器(Bloom filter) 布隆过滤器的定义: 布隆过...

2021-01-16 19:41:16 117 1

原创 位图

位图1.什么叫位图2.位图的使用方式: 位图的简单实现,3.位图的应用场景。4.位图的缺陷1.什么叫位图位图就是使用一个比特位来进行表示数据存在与否的信息。1个字节有8个位,那么我们每个位就可以表示,是否存在这个数据(0/1)例如:我们如果从0开始,那么上图就可以表示出在这些数据中,存在 1,3,8,10,21,22,23...

2021-01-16 17:18:01 1692

原创 哈希算法

哈希1.什么是哈希?2.哈希函数?1.哈希函数的定义: 2.哈希函数的设计原理: 3.常见的哈希函数:3.哈希冲突 1.闭散列:2.开散列:1.什么是哈希? 按照某种方式,将元素与其所在的表格中的存储位置建立一一映射的关系,那么就在查找时,通过改函数可以快速的找到。时间复杂度为O(1)。...

2021-01-15 14:36:07 1298

原创 Socket编程(高并发TCP/UDP)

Socket编程(TCP/UDP) <sys/socket.h>如有问题请多多指教,1.Tcp模式(由客户端链接服务器)2.UDP模式:3.多线程tcp4.多进程tcp首先我们需要知道tcp和udp的协议的特点。1.Tcp模式(由客户端链接服务器)服务器端 客户端socket() 创建套接字...

2020-12-22 15:02:25 933

原创 链表的题解(剑指offer)

链表的题解(剑指offer)如有问题,请多多指教题目是《剑指offer》上的所有链表题目,并不是最优解法,可以借鉴。前6个结构体的定义均为typedef struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};1.输入一个链表的头节点,从尾到头反过来返回每个...

2020-12-03 11:58:39 109 1

原创 从无到有的了解线程

线程如有问题,请多多指出 在之前的文章中,写过进程和线程的概念,可一起阅读。 1.线程的实现1.1线程的实现分为三种方式, 1.2线程是什么?1.3在一个lin...

2020-11-27 20:31:30 216

原创 信号量的使用

信号量的同步如有问题,请多多指教代码接口方面,可参考上一篇博客https://blog.csdn.net/weixin_42078660/article/details/109968606我们有三个进程,分别是A,B,C.他们的功能就是分别打印A,B,C那么这三个进程要怎样才可以顺序的打印出ABCABCABC。。。。。。。呢?在这里我们需要的是进程间的...

2020-11-24 16:24:42 234

原创 进程间通信(编程版)

进程间通信(编程版)除学linux,内容较为粗糙,如有问题,请多多指教。此篇重点在编程上,对于理论分析较少,后续会专门分析理论。进程间通信:管道,信号量,共享内存,消息队列,套接字。1.管道: 1.简诉: 管道:有名管道和无名管道 有名管道:用于任意两个进程中间 无名管道:用于父...

2020-11-22 23:45:01 372

原创 linux下信号的使用(编程层面)

信号初学linux,为方便使用写的,如有问题,请多多指教。 简介: 信号是linux系统为了响应某些状况而产生的事件。进程收到信号后应该采取相应的动作Kill -l 可以查看现在的信号量; (2) SIGINT ctrl +c 终止信号 (3) ctrl +\ 暂停信号,放入后台 (4)...

2020-11-22 17:33:18 102

原创 浅谈fork()

浅谈fork fork是什么?(PCB 进程唯一描述符) 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新...

2020-11-16 19:59:36 411

原创 库(动态库和静态库)

库(静态库、共享库)如有问题,请多多指教。库:预先编译好的方法的集合分为 静态库 (libxx.a)和 动态库 (libxx.so) (xx是库名)我们在linux系统下,我们要知道这几个存放位置:可执行的程序,命令放在 /bin /usr/bin头文件放在 /usr/include库文件放在 /lib /usr/lib1.那么库有什么作用呢?简单来说,当我们要执行一个重复而又相同的功能的时候,...

2020-11-16 16:33:54 163

原创 gdb调试的简单操作

gdb调试工具对于一个程序可以生成:release版本:属于发行版本,用于用户。 不能调试程序。debug版本:属于调试版本,用于程序员。 可以调试程序。gcc默认生成的是release版本的可执行文件,如果想要生成debug版本,需要加一个选项 -g。进入 gdb调试: gdb + debug版本文件。l 显示main函数所在文件的代码list filename:line 显示filename文件lin...

2020-07-16 18:21:09 122

原创 Shell编程的简单操作

Shell编程特点:1.开发快,它不运行,使用命令来执行。在任何一个环境下,都可以执行shell语言,很方便的。2.shell(解释性)需要解释器,代码在解释器中运行。Shell的解释器一般为(bash)C++(编译型)经过编译链接后,可以在目标主机上直接运行3.shell脚本运行起来后,他的pid 是bash的pid,因为bash是一个可执行程序。语法:#!/bin/bash 指定解释器运行的时候 ...

2020-07-10 15:10:22 365

原创 浅谈python函数

python 函数 形式: def函数名(形参·*****·······) 函数体注意事项:1.函数的返回值不需要在函数名前进行制定类型,python是一个动态返回,会返回return后的数据类型2.函数体不用{} 进行包裹,但是要注意缩进,在(形参)后记得带着‘:’3.返回值可以是多个,...

2020-07-06 21:18:34 94

原创 浅谈python中的 list、tuple、dict、set

浅谈python中的 list、tuple、dict、setlist: 简介: 有序的集合,包含多个元素 数据可以是任意类型 支持索引访问 用[ ]表示,例如a=[ ] 或者 a=list() 访问: 索引访问 a[1]...

2020-06-25 10:58:54 206

原创 常见SQL语句(仅供自己复习)

常见SQL语句(仅供自己复习)DDL数据定义语言(表,库,视图…)create drop alter show增 删 改 查DML 数据操作语言Insert delete update selectDCL 数据控制语句(权限)grant revoke1.启动数据库(linux系统下) service...

2020-06-24 10:51:14 536

原创 浅谈python高级数据结构—— 字符串(str)

浅谈python高级数据结构—— 字符串(str) 在python中字符串可以说的运用的特别多了。在当我们input 输入的时候,也是一个str字符串类型,我们今天就来简单的说一下(字符串)类型的一些简单操作。内容:字符串是一个有序的集合。 这里的有序集合代表的不是说我们输入后的会是一个有序的输出,他的有序代表的是:它支持索引查询,我们可以跟你感觉索引去查询某一个字符,或者是一块字符(切块索引)用单引号或者双引号括起来的任意文本 定义字符串:str1...

2020-06-23 16:50:33 246

原创 python大作业——列车管理系统

这学期学了python,结果学的还是很浅,然后就写了个简单的大作业,学习一下。这是个简单的操作系统,然后设计了一个简单的界面,还是有很多粗糙的地方,后面还是需要好好学习,好好干,继续学。import osimport reimport numpy as npfrom tkinter import *root=Tk()root.title('列车查询系统')root.geometry('500x240')tralist =[]s=''class Train: #定义一...

2020-06-18 15:46:22 2939 4

原创 一个成功的网络营销案例的分析

一个成功的网络营销案例的分析一个网络营销做的很成功的公司,首先必须有一个丰富的多姿多彩的网站。网络推广一般都是直接链接到公司的网站上面去,因此网站就相当于客户公司的门面,当一个陌生人想了解你们的公司打开你们公司网站的时候,所有的东西都一目了然。你想让客户知道什么就放什么在网站上,以之前的奶茶店加盟为例,我们能给客户提供哪些服务,我们的加盟政策是什么样的,技术培训这块我们能提供多大的支持,加盟费是一次收多少,是否到客户当地为客户提供专业性的选址经验等等...

2020-05-31 10:52:11 1814

原创 网络营销的特点

网络营销的特点1、公平性:在网络营销中,所有的企业都站在同一条起跑线上。公平性只是意味给不同的公司、不同的个人提供了平等的竞争机会,并不意味着财富分配上的平等;2、虚拟性:由于互联使得传统的空间概念发生变化,出现了有别于实际地理空间的虚拟空间或虚拟社会;3、对称性:在网络营销中,互联性使信息的非对称性大大减少。消费者可以从网上搜索自己想要掌握的任何信息,并能得到有关专家的适时指导;4、模糊性:由于互联使许多人们习以为常的边界变得...

2020-05-31 10:47:17 586

原创 网络营销环境内容

网络营销环境内容 根据营销环境对企业网络营销活动影响的直接程度,网络营销环境可以分为网络营销宏观环境与网络营销微观环境两部分。网络营销微观环境是指与企业网络营销活动联系较为密切、作用比较直接的各种因素的总称,主要包括企业内部条件和供应商、营销中介、顾客、竞争者、合作者以及公众等企业开展电子商务、网络营销的上下游组织机构。不同行业企业的微观营销环境是不同的,因此,微观营销环境又称行业环境因素。网络营销宏观环境是指对企...

2020-05-31 10:45:41 1152

原创 就业自我定位

就业自我定位 面对严峻的就业形势,我们有必要按照职业生涯规划理论加强对自身的认识与了解,找出自己感兴趣的领域,确定自己能干的工作也即优势所在,明确切入社会的起点,其中最重要的是明确自我人生目标,即给自我定位。自我定位,规划人生,就是明确自己“我能干什么?”、“社会可以提供给我什么机会?”、“我选择干什么?”等问题,使理想可操作化,为介入社会提供明确方向。 如何做好就业中自我定位?    1.明确自身优势  首先...

2020-05-31 10:39:56 277 2

原创 电商营销盈利性

电商营销盈利性百度:工具型广告入口持续弱化。从百度自身的产品序列来 看,百度搜索、百度地图的流量性主要集中在工具方向,相 较阿里的零售流量和腾讯的社交流量,在移动互联网时代, 先天缺乏转化优势,同时百度贴吧等基于社交端的流量入口 在移动互联网时代缺乏竞品优势,这些都导致其在平台营销 竞争的背景,缺乏持续优势。阿里巴巴:零售...

2020-05-19 09:32:05 127

原创 网络营销的优势

网络营销的优势相对比于传统营销模式来看,网络营销的主要优势如下:(1)降低成本网络营销与传统营销相比可节省一部分的投资成本,人工成本与存货成本。企业采购原材料是一项繁琐复杂的工作。而运用网络可以使采购产品与制造相结合,从而简化采购程序。传统店铺促销需要投入很多的资金和人力进行市场调查,而网上促销的成本...

2020-03-30 23:28:27 596

原创 找到数组中任意小数据及间隔最小 数据

找到一组数字中,第k小的数字这个题目是:给定一个数组,找到数组中任意第k小的数字。看完这个题目,我想到的就是我把这个数组,进行排序。这时候我们想要第几小就可以得到第几小了哈,是不是很方便。在选择的排序算法的时候我们尽量选择堆排序和选择排序,为什么呢?因为这两个排序算法,我们不需要将整个数组排序完,我们只需要将需要查找的排序出来就可以...

2020-03-13 23:35:21 463

原创 快速排序—非递归、链表

快速排序—非递归、链表对于快速排序相信大家都非常的清楚,对于越有序的数据,时间复杂度就越大。对于快排,时间复杂度为O(nlogn),空间复杂度为O(nlogn),是一种不稳定的排序算法。对于递归的实现方法,在上篇博客中有,我们在这就不做介绍,我们就看一下,当我们的数据越有序的时候,时间复杂度就会越高,那怎么办呢,我们就可以采取以下的几种方...

2020-03-13 08:26:38 290

原创 智能指针 shared_ptr

智能指针 shared_ptr根据上一篇博客,相信大家已经对智能指针有了一定的理解,但是最后就留下了一个问题,当我们的人工的多次开辟一个内存的时候,会导致程序崩溃,这时候我们引用了一个新的智能指针(shared_ptr 带引用计数的智能指针)。设计如下:我们加一个数组,当生成一个智能指针指向一块堆内存的时候,我们就...

2020-03-12 22:39:58 145

原创 大数据找中位数

大数据项目(仅自我复习所用,无参考意义)题目:利用500M的内存,计算10G的数据的中位数。首先我们需要生成10G的数据,这里用到了一些文文件的操作。(fopen()打开文件,fwrite() 写文件,rand()产生随机数函数,fclose()关闭文件)。 注意点:(1).打开文件必须要关闭文件。 ...

2020-03-06 11:40:24 585

空空如也

空空如也

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

TA关注的人

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