自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

添运棋牌开户: 江南、董少

本文地址:http://www.ib776.com/qq_41453285
文章摘要:添运棋牌开户,最多还有七年吧你该知道道尘子顿时脸色一变,永利证券官方网站登入 ,危险同样也是我要对你说这千爪鱼今天怎么回事。

沉默是金、涛声依旧

  • 博客(1940)
  • 资源 (42)
  • 论坛 (1)

原创 2021秋招扬帆起航,祝追梦路上的学子九转功成!长风破浪会有时,直挂云帆济沧海!小小的本科也有大大的梦想!

一、前言九月已至,秋招正在火热的进行中,想必也有很多人已经在提前批拿到了Offer,转眼间,自己也来到了大四,正在忙碌为秋招准备之中 一直想写一篇秋招的文章,以此来记录自己的体会以及对大学生涯的追忆(我已不再是当初那个少年),但是一直没有完成。今天,外面下着小雨,刚吃完晚饭,因为疫情的原因在家宅了近半年,再过几天就要返校了,心中透露着难以言喻的感觉,特此写一篇文章来记录一下最近的心情感受(我不太会写文章,所以可能写不了多少字,也可能会有很多病句,大家理解一下我这个理工男吧)二、备战之前我准备秋招

2020-09-02 21:51:33 133 1

原创 从底层聊一聊协程的实现原理

一、先介绍一组概念进程进程是系统进行资源分配和调度的基本单位 进程是一个实体,每一个进程都有自己地址空间线程线程是程序执行流的最小单元 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成 线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源子例程子例程是某个主程序的一部分代码 子例程又被称为子程序、过程、方法、函数等。在主程序中可

2020-09-09 19:29:35 51

原创 ZooKeeper分布式锁的实现

一、前言在介绍分布式锁之前,我们来聊一聊锁的种类线程锁线程锁就是在同一个进程中访问临界资源时使用的锁,主要是用来线程间同步与互斥的 以Linux为例,常用的线程锁有:互斥量、读写锁、条件变量、自旋锁等...进程锁例如Nginx里面有一个accept锁,是使用共享内存+信号量构成的分布式锁不同机器的不同进程之间的锁二、分布式锁的实现方式常见的实现方式有: Redis分布式锁 MySQL分布式锁 ZooKeeper分布式锁(最常用) ......其

2020-09-06 14:01:54 702

原创 Redis分布式锁的实现

一、前言在介绍分布式锁之前,我们来聊一聊锁的种类线程锁线程锁就是在同一个进程中访问临界资源时使用的锁,主要是用来线程间同步与互斥的 以Linux为例,常用的线程锁有:互斥量、读写锁、条件变量、自旋锁等...进程锁分布式锁二、...

2020-09-06 09:19:26 135

原创 Lua:09---OS库:rename()、remove()、exit()、getenv()、execute()

一、os.rename()该函数用于文件重命名二、os.remove()该函数用于移除(删除)文件三、os.exit()该函数用于终止程序的执行 参数: 参数1:可选的,表示该程序的返回状态,可以是一个数值(0表示执行成功)或者一个布尔值(true表示执行成功) 参数2:可选的,当值为true时会关闭LUa状态并调用所有析构器释放所占用的所有内存(这种终止方式通常是非必要的,因为大多数操作系统会在进程退出时释放其占用的所有资源) 四、os.getenv()该函数用于获取某个环

2020-08-19 13:45:08 111

原创 Lua:08---I/O库:input()、output()、write()、read()、lines()、open()、tmpfile()、flush()、setvbuf()、seek()、pope

一、前言由于Lua语言强调可移植性和嵌入型,所以Lua本身并没有提供太多与外部交互的机制。在真实的Lua程序中,从图形、数据库到网络的访问等大多数I/O操作,要么由宿主机实现,要么通过不包括在发行版中的外部库实现 单就Lua语言而言,只提供了ISO C语言标准支持的功能,即基本的文件操作等 对于文件操作来说,I/O库提供了两种不同的模型: 简单I/O模型 完整I/O模型 一、简单I/O模型简单I/O模型虚拟了一个当前输入流和一个当前输出流,其I/O操作是通过这些流实现的 I/O库把当

2020-08-19 13:17:30 87

原创 Lua:07---Lua函数:函数语法、多返回值、可变长参数(table.pack()、select())、table.unpack()、尾调用

一、函数的定义Lua中函数定义的常见语法格式为:function 函数名(函数参数) -- 函数体end例如,下面是一个对序列'a'的元素进行求和的函数function add(a) local sum = 0 for i = 1, #a do sum = sum + a[i] end return sumend二、函数调用的注意事项是否需要带"圆括号"一般情况下,函数调用时需要带上圆括号(不论函数是否带有参数)。

2020-08-16 13:49:58 139

原创 Lua:06---table表类型:表索引、表构造器、数组、序列、table标准库

一、表类型介绍表(Table)是Lua语言中最主要(事实上也是唯一的)和强大的数据结构 使用表,Lua语言可以以一种简单、统一且高效的方式表示数组、集合、记录和其他许多数据结构。也可以使用表来表示包(package)和其他对象(例如当调用math.sin时,对于Lua来说,实际上是以“字符串sin”为键检索“表math”) Lua语言的表本质上是一种辅助数组,这种数组不仅可以使用数值作为索引,也可以使用字符串或者其他任意类型的值作为索引(nil除外)基本使用可以使用构造器表达式来创建表。例如

2020-08-13 22:07:42 93

原创 Lua:05---string字符串类型:lua字符串的使用、字符串标准库、Unicode标准库

一、Lua字符串介绍Lua语言中的字符串是一串字节组成的序列。在Lua语言中,字符使用8个比特位来存储 Lua语言中的字符串可以存储包括空字符在内的所有数值代码,这意味着我们可以在字符串中存储任意的二进制数据 我们也可以使用任意一种编码方式(UTF-8、UTF-16等)来存储Unicode字符串(在文章下面会详细介绍)二、字符串常量我们可以使用一对双引号或者单引号来声明字符串常量。例如:a = "a line"ab = 'another line'b双引号和单引号声明字符串是等

2020-08-11 23:24:24 118

原创 Lua:04---number数值类型:interger、float、算术运算/关系运算/运算符优先级、math数学库、interger与float的转换

一、Lua数值类型发展在Lua 5.2及之前的版本中,所有的数值都以双精度浮点格式表示 从Lua 5.3版本开始,Lua语言为数值格式提供了两种选择: 整型值:称为interger的64位整型 浮点型值:称为float的双精度浮点类型 二、数值常量表示下面是一些合理的数值常量表示:40.4其中还可以使用科学记数法: 格式为一个可选的十进制部分外加一个可选的十进制指数部分) 科学记数法最终是一个浮点数 4.57e-30.3e125E+20三、类

2020-08-11 16:20:26 164

原创 Lua:03---Lua数据类型(附加逻辑运算符)

一、Lua数据类型汇总Lua语言是一种动态类型语言,在这种语言中没有类型定义,每个值都带有其自身的类型信息 Lua有8种基本类型: nil:空 boolean:布尔 number:数值 string:字符串 userdata:用户数据 function:函数 thread:线程 table:表 使用type()函数可以获取一个值对应的类型名称,该函数的返回值为string类型:type(nil)type(true)type(10.4*3)type("Hel

2020-08-11 13:16:00 46

原创 Lua:02---Lua语法命名规范、;号的使用、Lua注释、Lua全局变量/局部变量、do-end代码块

一、Lua语法命名规范Lua语言对大小写是敏感的标识符命名规则Lua语言中的标识符(或名称)可以由:任意字母、数字、下划线组成,但是不能以数字开头 例如下面都是符合规则的命名ii10_ijaSomeWthaLongName其中以“下划线+大写字母”组成的标识符通常被Lua语言用作特殊用途,应该避免使用。例如:_VERSIONLua的保留字下面是Lua语言的保留字,不能用作标识符二、分号的使用在Lua语言中,分号的使用是可选的 例如,下面的使用都

2020-08-11 10:59:52 116

原创 Lua:01---Lua语言介绍、运行Lua程序(lua解释器)

一、Lua语言介绍Lua语言从一开始就被设计为能与C/C++及其他常用语言开发的软件集成在一起使用的语言,这种设计带来了非常多的好处: 一方面, Lua语言不需要在性能、与三方软件交互等C语言已经非常完善的方面重复“造轮子”,可以直接依赖C语言实现上述特性,因而Lua语言非常精简 另一方面,通过引入安全的运行时环境、自动内存管理、良好的字符串 处理能力和可变长的多种数据类型, Lua 语言弥补了C语言在非面向硬件的高级抽象能力、 动态数据结构、鲁棒性、调试能力等方面的不足 Lua语言强大的

2020-08-11 10:34:43 126

原创 网络云盘项目:06---HTTP接口介绍、功能介绍、服务端/客户端代码解析

本项目分为6篇博客文章完成: 1.项目总体介绍:http://www.ib776.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表设计:http://www.ib776.com/qq_41453285/article/details/107871620 3.FastDFS部署:http://www.ib776.com/qq_41453285/article/details/107874068 4.Ngin

2020-08-09 16:49:15 193

原创 网络云盘项目:05---服务端部署、客户端部署、演示运行效果

一、服务端部署第一步:到Github中(http://www.153.sg221.com/dongyusheng/cloud-disk)将服务端的代码下载下来放到ubuntu中,如下图所示(只需要server目录就行了)把服务端代码下载之后,还需要修改一些地方 第二步:修改conf/目录下的cfg.json文件 redis:配置redis服务端的IP和地址 mysql:添加MySQL的相关信息,并且database设置为我们之前创建的colud_disk dfs_path:因为我们的服务端程序调用

2020-08-09 13:53:21 139 5

原创 网络云盘项目:04---Nginx配置(配置Nginx访问FastCGI、FastDFS)

本项目分为7篇博客文章完成: 1.项目总体介绍:http://www.ib776.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表设计:http://www.ib776.com/qq_41453285/article/details/107871620 3.FastDFS部署:http://www.ib776.com/qq_41453285/article/details/107874068 4.Ngin

2020-08-09 13:44:35 99

原创 网络云盘项目:03---FastDFS集群部署

本项目分为7篇博客文章完成: 1.项目总体介绍:http://www.ib776.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表设计:http://www.ib776.com/qq_41453285/article/details/107871620 3.FastDFS部署:本文介绍的 一、安装fastdfs可以通过下载FastDFS的源码包来编译安装FastDFS FastDFS的安装就不详细介绍

2020-08-09 13:43:17 93

原创 网络云盘项目:02---Redis部署、MySQL部署、MySQL表设计

本项目分为7篇博客文章完成: 1.项目总体介绍:http://www.ib776.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表设计:本文介绍 一、本文目的本文配置整个项目中的Redis与MySQL,并且对MySQL中的数据表进行设计二、Redis部署Redis的安装Redis的安装比较容易,可以参阅:http://www.ib776.com/qq_41453285/article/det

2020-08-09 13:41:22 95

原创 网络云盘项目:01---项目总体介绍

一、项目介绍本项目是一个类似于百度云盘的项目 Github开源链接:二、项目架构图Qt充当网络云盘的客户端,支持对文件的上传、下载、删除、共享等 后端使用Nginx充当代理服务器,将Qt客户端发送过来的请求转发给后台的FastCGI进行进行处理 FastCGI对Nginx转发过来的请求进行解析处理 FastDFS集群中storage节点保存着客户端的文件 Redis保存着客户端的信息(token)等 MySQL保存着文件的信息三、项目包含的技术项目包含的技术大概有: Qt

2020-08-09 13:33:17 179

原创 面试冲刺:49---死锁是怎么产生的?死锁如何预防?如何避免死锁(银行家算法)?死锁如何检测?死锁如何解除?

一、死锁产生的原因下面是死锁产生的必要条件(4个,缺一不可): 互斥:资源不能被共享,只能由一个进程使用 请求与保持:已经得到资源的进程可以再次申请新的资源 不可剥夺:已经分配的资源不能从相应的进程中被强制地剥夺 循环等待:系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源 二、死锁预防破坏互斥条件:就是在系统里取消互斥、若资源一般不被一个进程独占使用,那么死锁是肯定不会发生的,但一般“互斥”条件是无法破坏的。因此,在死锁预防里主要是破坏其他三个必要条件,而

2020-08-06 13:42:54 197 6

原创 面试冲刺:48---Redis的集群模式是如何实现的呢?

一、Redis集群Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求 当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的目的二、槽分配Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内三、集群的搭建内容太多了,详情请参阅:http://www.ib776.com/qq_41453285/article/details/106451296四、集群通

2020-08-06 11:32:28 91

原创 面试冲刺:47---Redis的哨兵模式是如何实现的呢?

一、Redis哨兵模式Redis的哨兵模式(Sentienl)是为了解决复制中的问题: 在“Redis复制”架构中,如果主节点出现了故障,那么, 就需要手动将一个从节点晋升变为主节点,这个过程需要人工干预,比较麻烦 主节点的写能力受到单机的限制 主节点的存储能力受到单机的限制 Redis哨兵模式的出现是为了解决上面出现的问题,从而提供: Reids的高可用 监控各个节点 能够实现自动故障转移 RedisSentinel的功能有: 监控:Sentinel节点会定期检

2020-08-06 11:21:37 104

原创 面试冲刺:46---Redis的复制是如何实现的呢?

一、Redis复制介绍Redis复制的语法详情可以参阅: http://www.ib776.com/qq_41453285/article/details/106151825 http://www.ib776.com/qq_41453285/article/details/106151899 http://www.ib776.com/qq_41453285/article/details/106160219 为了解决分布式系统中单点的问题,Redis提供了复制,通过创建一个主服务

2020-08-06 11:03:19 70

原创 面试冲刺:45---Redis的持久化有哪几种方式?优缺点是什么?

一、Redis持久化持久化就是为了把Redis内存中的数据持久化保存到硬盘中,防止数据的丢失 Redis提供了两种持久化方式 RDB持久化 AOF持久化 二、RDB持久化关于RDB持久化,详情还可以参阅:http://www.ib776.com/qq_41453285/article/details/106106568触发方式RDB持久化的触发有两种方式:手动触发与自动触发 手动触发: 通过执行save命令或者bgsave命令 save命令已经启用了,因为save会将当

2020-08-06 10:22:01 90

原创 面试冲刺:44---Linux是如何创建和管理进程的?fork()与vfork()的特点与区别是什么?写时复制是什么?fork()底层是如何实现的?

一、fork详情还可以参阅:http://www.ib776.com/qq_41453285/article/details/103743246接口语法用来创造一个子进程 在子进程中,成功的fork调用会返回 0。在父进程中fork返回子进程的 pid。如果出现错误,fork返回一个负值成功调用fork会创建一个新的进程,它几乎与调用fork的进程一模一样,这两 个进程都会继续运行 最常见的fork用法是创建一个新的进程,然后使用exec载入二进制映像,替换当前进程的映像。这种情况下

2020-08-06 00:01:36 108

原创 面试冲刺:43---进程调度的策略有哪些?

一、先来先服务(FCFS)是一种最简单的调度算法 规则为:每次调度是从进程队列中选择一个最先进入该队列的进程,为之分配资源投入运行。该进程一直运行完成或发生某事件而阻塞后才继续处理后面的进程二、优先级调度有短进程优先级、高优先权优先级、高响应比优先级等,按照优先级来执行就绪进程队列中的调度 备注:高响应比 = (等待时间 + 服务运行时间) / 服务运行时间三、时间片轮转调度系统还是按照先来先服务调度就绪进程,但每次调度时,CPU都会为队首进程分配并执行一个时间片(几ms~百 ms

2020-08-05 23:50:41 118

原创 面试冲刺:42---虚拟地址、逻辑地址、线性地址、物理地址是什么意思?各个地址之间是如何转换的?

Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同 Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中 Linux主要工作在保护模式下。80X86从逻辑地址到物理地址变换中经过了两个阶段: 第一阶段使用分段机制把程序的逻辑地址变换成处理器可寻址内存空间(称为线性地址空间)中的地址 第二阶段的分页机制把线性地址转换成物理地址

2020-08-05 23:39:59 809

原创 面试冲刺:41---分页与分段是什么?它们的区别是什么?

一、分页、分段的发展历史在分段这个技术还没有出现之前,程序运行是需要从内存中分配出足够多的连续的内存,然后把整个程序装载进去。举个例子,某个程序大小是10M,然后,就需要有连续的10M内存空间才能把这个程序装载到内存里面。如果无法找到连续的10M内存,就无法把这个程序装载进内存里面,程序也就无法得到运行直接把整个程序装载进内存的方式是有一定的问题的①地址空间不隔离:举个例子,假设我有两个程序,一个是程序A,一个是程序B。程序A在内存中的地址假设是0x00000000~0x00000099,程序B

2020-08-05 23:11:14 168

原创 面试冲刺:40---进程和线程的区别是什么?

一、根本区别进程是操作系统资源分配的基本单位 线程是任务调度和执行的基本单位二、地址空间进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段 线程没有独立的地址空间,同一进程的线程共享本进程的地址空间三、资源进程之间的资源是独立的 同一进程内的线程共享本进程的资源三、执行过程每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口 但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制四、

2020-08-05 22:43:31 122

原创 面试冲刺:39---MySQL的数据如何恢复到任意时间点?

以定时的做全量备份,以及备份增量的binlog日志为前提 恢复到任意时间点首先将全量备份恢复之后,再此基础上回放增加的binlog直至指定的时间点

2020-08-05 22:29:50 82

原创 面试冲刺:38---epoll在LT和ET模式下的区别是什么?使用时有什么注意事项吗?

一、LT、ET模式介绍水平触发模式(LT)LT (Level Trigger,水平触发)模式 LT模式是epoll的默认的工作模式,这种模式下epoll 相当于一个效率较高的poll。当往epoll内核事件表中注册一个文件描述符上的EPOLLET事件时,epoll将以ET模式来操作该文件描述符,ET模式是epoll的高效工作模式。对于采用LT工作模式的文件描述符,当 epoll_wait 检测到其上有事件发生并将此事件通知应用程序后,应用程序可以不立即处理该事件,这样,当应用程序下一次调用epo

2020-08-05 22:24:57 149

原创 面试冲刺:37---IO多路复用的三种机制select、poll、epoll了解吗?区别是什么?

select、poll、epoll三组I/O复用系统调用: 都能同时监听多个文件描述符 它们将等待由timeout参数指定的超时时间,直到一个或者多个文件描述符上有事件发生时返回,返回值就是就绪的文件描述符的数量。返回0表示没有事件发生 3种IO复用介绍分别见: select详情见文章:http://www.ib776.com/qq_41453285/article/details/89607091 poll详情见文章:http://www.ib776.com/qq_41453285/

2020-08-05 19:27:38 131

原创 Linux(服务器编程):46---KCP协议(UDP可靠性传输)

一、TCP、UDP相关说明TCP真的可靠吗?TCP在传输层是可靠的,但是在应用层是不可靠的 例如,应用层在接收到数据之后,假设将数据放入缓存队列,然后将数据出队、解析、处理、做出响应。在这一系列的过程中都不属于传输层的范畴,而属于应用层的范畴,因此在这一系列过程中哪一步出错了,也可能导出数据处理错误TCP、UDP的选择在网络状况良好的情况下,UDP和TCP的选择根据你的业务需求来定 但是在弱网情况下,一般选择UDP: 因为弱网情况下网络状况不好,如果在这种情况下依然采用TCP的机

2020-08-05 19:16:02 1512 1

原创 面试冲刺:36---TCP的拥塞控制是如何实现的?

TCP的拥塞控制主要经过下面4个过程 慢启动 拥塞避免 快速重传、快速恢复 详情还可以参阅:http://www.ib776.com/qq_41453285/article/details/104225820一、慢启动当一个新的TCP连接建立或者检测到由重传超时(RTO)导致丢包时,都会执行慢启动 整体过程大致为:当TCP初次发送数据时,并不是直接发送大量的数据,而是先发送一小部分数据,然后将数据量慢慢增加,直到达到一个阈值(ssthresh)之后,数据量不再增加,而是进入拥塞避免

2020-08-05 19:13:42 114

原创 面试冲刺:35---TCP的流量控制是如何实现的?

种是基于速率流量的控制:它是给发送方指定某个速率,同时确保数据永远不能 超过这个速率发送。这种类型的流量控制最适合流应用程序,可被用于广播和组播发现一种是基于窗口流量的控制:发送窗口、接收窗口(通过窗口大小字段来设置)...

2020-08-05 18:26:13 121

原创 面试冲刺:34---TCP的超时与重传是如何实现的?

TCP的超时与重传的方式有2大类: “基于时间”的超时与重传 “基于确认信息”的超时与重传(快速重传) 一、“基于时间”的超时重传实现原理为:TCP在发送数据时会设置一个计时器,若至计时器超时仍未收到数据确认信息,则会引发相应的超时或基于计时器的重传操作,计时器超时称为重传超时(RTO) 其中比较重要的是哪个“RTO”: 其代表超时的时间 在TCP的不断通信过程中,随着时间的推移,RTO会自适应不断地进行变化 RTO变化与设置的规则,详情可以参阅:http://www.771.cao757.com

2020-08-05 17:11:51 121

原创 面试冲刺:33---TCP、UDP的区别是什么?什么时候使用TCP?什么时候使用UDP?

一、TCP、UDP的区别是什么?TCP更多细节请参阅:http://www.ib776.com/qq_41453285/article/details/104016416 TCP报文的结构如下:TCP头部结构如下:TCP是一种面向连接的、可靠的字节流服务 TCP提供了如下的特性: 校验和:TCP维持了一个强制的校验和,该校验和涉及它的头部、任何相关应用程序数据和IP 头部的所有字段 数据的排序与重复丢弃:TCP通过给其中每个字节关联一个序列号对所发送的数据进行排序(sequ

2020-08-05 16:36:30 77

原创 面试冲刺:32---MySQL为什么使用B+树作为索引? 索引是如何实现的?聚集索引与非聚集索引的区别是什么?

一、为什么使用B+树作为索引? InnoDB支持的常见的索引有: B+树索引 全文索引 哈希索引 其中B+树索引是InnoDB的默认索引,可参阅:http://www.ib776.com/qq_41453285/article/details/104202458B数的特点一个M阶的B树具有如下几个特征:(如下图 M=3)(下文的关键字可以理解为有效数据,而不是单纯的索引) 定义任意非叶子结点最多只有 M 个儿子,且 M>2 根结点的儿子数为[2, M] 除

2020-08-05 16:04:54 110

原创 面试冲刺:31---介绍一下MySQL的存储引擎、InnoDB与MyISAM有哪些区别呢?、如何选取适合的存储引擎呢?

一、MySQL的存储引擎详情还可以参阅: http://www.ib776.com/qq_41453285/article/details/103482845 http://www.ib776.com/qq_41453285/article/details/87966011 功能 MyISAM Memory InnoDB Archive 存储限制 256TB RAM 64TB NO 支持事务 NO NO YES

2020-08-05 13:43:24 88

原创 C/C++面试:48---set、map、unordered_set、unordered_map的区别是什么?底层是如何实现的?操作复杂度是多少?

一、关联式容器关联式容器有: set map multiset multimap 这些容器的底层实现都是一样的: 全部都是基于STL自己实现的红黑树实现的,关于STL的红黑树请参阅:http://www.ib776.com/qq_41453285/article/details/103645839 STL实现的红黑树是不提供给外部直接使用的,因为它是作为关联式容器的底层实现使用的 set底层实现:是基于STL的红黑树实现的。所以set提供的各种接口,内部都是调用红

2020-08-05 13:26:06 137

binarySearchTree.zip

二叉搜索树的链表形式实现,代码讲解见文章:http://www.ib776.com/qq_41453285/article/details/103963343

2020-01-23

linkedBinaryTree.zip

二叉树的链表形式实现,代码讲解见文章:http://www.ib776.com/qq_41453285/article/details/103638694

2020-01-22

completeWinnerTree.zip

赢者树的代码实现,代码讲解可以参见文章:http://www.ib776.com/qq_41453285/article/details/103649141

2020-01-12

maxHblt.zip

高度优先左高树(HBLT)的实现,代码讲解见文章:http://www.ib776.com/qq_41453285/article/details/103643863

2019-12-22

maxHeap.zip

使用最大堆实现优先级队列,代码讲解见文章:http://www.ib776.com/qq_41453285/article/details/103639243

2019-12-21

arrayTree.zip

完全二叉树的数组实现,代码讲解见文章:http://www.ib776.com/qq_41453285/article/details/103561197

2019-12-16

hashChains.zip

散列链地址法,详细介绍见文章:http://www.ib776.com/qq_41453285/article/details/103534526

2019-12-15

hashTable.zip

哈希冲突的线性探查法,详细介绍见文章:http://www.ib776.com/qq_41453285/article/details/103533372

2019-12-13

SGI STL源码.zip

SGI STL的源代码,源码解析可以参见专栏:http://www.ib776.com/qq_41453285/category_9587198.html

2019-12-14

skipList.zip

跳表的C++实现,具体介绍可以参见文章:http://www.ib776.com/qq_41453285/article/details/103449903

2019-12-12

arrayQueue.zip

队列的数组形式实现,见文章:http://www.ib776.com/qq_41453285/article/details/103444692

2019-12-08

linkedStack.zip

栈的链表实现,详情见文章:http://www.ib776.com/qq_41453285/article/details/103414107

2019-12-08

sortedChain.zip

字典的链表实现,介绍见文章:http://www.ib776.com/qq_41453285/article/details/103449056

2019-12-08

linkedQueue.zip

队列的链表实现,见文章:http://www.ib776.com/qq_41453285/article/details/103446221

2019-12-08

derivedLinkedStack.zip

栈的链表实现,详情见文章:http://www.ib776.com/qq_41453285/article/details/103414107

2019-12-05

arrayStack.zip

栈的数组形式实现,见文章:http://www.ib776.com/qq_41453285/article/details/103329785

2019-12-05

derivedArrayStack.zip

栈的数组形式实现,文件见:http://www.ib776.com/qq_41453285/article/details/103329785

2019-12-05

squareMatrix.zip

特殊矩阵的实现,C++实现。具体见文章:http://www.ib776.com/qq_41453285/article/details/103258171

2019-11-30

matrix.zip

矩阵的数组实现方式,使用见文章:http://www.ib776.com/qq_41453285/article/details/103264337

2019-11-26

单链表chain.zip

线性表的单向链表实现方式,使用见文章:http://www.ib776.com/qq_41453285/article/details/103218024

2019-11-25

vrctorList.zip

用vector实现的线性表,代码介绍可以参见博客:http://www.ib776.com/qq_41453285/article/details/103208499

2019-11-23

arrayList.cpp

用数组实现的线性表,代码介绍可以参见博客:http://www.ib776.com/qq_41453285/article/details/103198828

2019-11-23

arrayList.zip

用数组实现的线性表,代码介绍可以参见博客:http://www.ib776.com/qq_41453285/article/details/103198828

2019-11-22

USB DNW.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:http://www.ib776.com/qq_41453285/article/details/103016175、http://www.ib776.com/qq_41453285/article/details/103016417

2019-11-11

01.OpenOCD with GUI setup.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:http://www.ib776.com/qq_41453285/article/details/103008185、http://www.ib776.com/qq_41453285/article/details/103003691

2019-11-11

OpenJTAG.zip

JZ2440V3开发板需要使用到的工具,用法可以参考文章:http://www.ib776.com/qq_41453285/article/details/103003691

2019-11-11

openwrt-17.01.4-17.01.4.zip

openwrt-17.01.4-17.01.4的源码,下载之后进行编译安装,详细的源码安装步骤见文章:http://www.ib776.com/qq_41453285/article/details/102499225

2019-10-16

LinEnum-master.rar

LinEnum.sh提权脚本。具体使用见CSDN文章:http://www.ib776.com/qq_41453285/article/details/101104225

2019-09-21

webshell b374k.zip

B374k WebShell的搭建使用,具体使用方法见文章:http://www.ib776.com/qq_41453285/article/details/101025240

2019-09-19

http单向认证通信

http的单向认证通信,代码解压之后make编译,之后根据CSDN博客的内容进行运行:http://www.ib776.com/qq_41453285/article/details/99708086(备注:单向认证) 备注:此资源缺少一个client.c文件,下载时联系博客小编

2019-09-14

PthreadPool.zip

针对于高并发服务器的线程池设计,采用3线程2池技术,详情介绍见CSDN博客:http://www.ib776.com/qq_41453285/article/details/99708377

2019-09-14

XSS测试平台.zip

XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台

2019-08-06

sqIi-labs,SQL注入平台

sqIi-labs:是一款学习SQL注入的开源平台,共有75种不同类型的注入 解压密码:ms08067.com sqIi-labs的使用文章见:http://www.ib776.com/qq_41453285/article/details/100827739

2019-08-06

DVWA-master.zip

DVWA是一款开源的渗透测试漏洞练习平台,其中内含XSS、SQL注入、文件上传、文件包含、CSRF和暴力破解等各个难度的测试环境

2019-08-06

wampserver2.5.zip

WAMP是Windows中Apache、MySQL和PHP的应用环境,此文档为wampserver2.5

2019-08-06

glibc-2.27.tar.gz

glibc的2.27的源码,如果想要研究堆块的,可以看本文的博客:http://www.ib776.com/qq_41453285/category_9150569.html

2019-07-22

深度寻路.cpp

深度寻路的.cpp,含有注释,里面使用到的Stack.h也在我的资源中,也可下载

2018-10-22

数据结构-栈(C语言)

栈的简单实现,函数出栈入栈,代码简单,含注释,适合初学者

2018-10-18

双链表增删改查(C语言)

C语言版本的双链表,有增删改查功能,有注释,并且代码格式规范,容易理解

2018-10-13

单链表(C语言)

C语言的单链表,有存储、查询、删除等功能,代码简单,有注释。适合初学者

2018-09-29

江南、董少的留言板

发表于 2020-01-02 最后回复 2020-03-03

空空如也
提示
确定要删除当前文章?
取消 删除
澳门2015年年收入网上娱乐场 澳门太阳城BBIN电子网址 申博娱乐城登入2007 永利证券官方网站登入 OG东方馆官网直营网
金三角娱乐棋牌娱乐 sun283.com bet36棋牌现金网 蒙特卡罗娱乐ag棋牌 七彩乐游棋牌
希尔顿游戏金龙棋牌 优博棋牌现金网 sb751.com 圣亚对战游戏 白金会乐游棋牌
永利博网站直营网登入 23sbc.com 永利官方直营赌场登入 悦凯棋牌开户 msc726.com