- 博客(107)
- 资源 (3)
- 收藏
- 关注
原创 NGINX下的红黑树源码详解(附 流程图和GIF)
之前博主稍微讲解了下红黑树的原理,那么在这篇博客博主想要把红黑树讲的更加的透彻,以便于更多的人了解红黑树(本博客会更加详细的介绍之前的博客没介绍到的,所以各位看官不同再回去翻看博主之前那篇红黑树的原理讲解了。) 博主之前也看过很多对红黑树的介绍但是博主感...
2019-11-03 18:42:13 4020 5
原创 redis,memcached,nginx网络组件,网络编程——reactor的应用
调用 epoll_ctl 添加到 epoll 中的事件都会与网卡驱动程序建立回调关系,相应事件触发是会调用回调函数(ep_poll_callback),将触发的事件拷贝到 rdlist 双向链表中;IO 多路复用只有检测 IO 的功能,能检测多条连接是否 IO 就绪,但是不具备 IO 操作的功能,无法操作 IO 数据。io 函数可以检测具体的状态,io 多路复用只能检测出可读、可写、错误、断开等笼统的事件。为什么要把 IO 检测的功能丢给 IO 多路复用去做,而不是 IO 函数自己来做?
2023-12-26 23:33:54 1201 1
原创 网络编程与select/poll/epoll服务器的实现
本部分主要是介绍socket网络编程的基本API——并展示一个服务器与客户端连接的具体流程是如何的实现一个一对一的网络服务器程序socket编程或者网络编程。相信看完博主之前的介绍大家会对网络编程有一定的认识,所以我们就紧接着之前知识点继续介绍,之前时实现了一个回声服务器,现在将其升级为更高效的服务器。select是一种IO多路复用的机制,通常被用于在单个线程中同时监听多个文件描述符(包括socket、标准输入输出、管道等)是否有数据可读或可写。
2023-04-24 00:06:28 621
原创 linux服务器实现百万并发遇到的问题以及解决思路
目录前言服务器与客户端的配置介绍server 代码client 代码遇到的问题error too many open files为什么会出现这个问题解决这个问题的思路killed(已杀死)为什么会出现这个问题解决这个问题的思路最终结果学到的经验教训前言在完成百万并发服务器的时候调试了大概五天,期间总会出现莫名其妙的问题导致连接断开,所以本文就这些问题与如何解决这些问题做一个总结。本次实验完成的百万并发指的是单纯的连接数量,中间只是增加了必要的打印信息而已,并未增加具体的业务信息。服务器与客户端的配
2023-04-23 22:41:21 905
原创 yum 报错:Another app is currently holding the yum lock; waiting for it to exit
centos
2022-09-22 11:08:52 433
原创 03 折半查找
折半查找又称为二分查找。它仅适用于有序的顺序表。 折半查找的基本思想:首先给定值 key 与表中中间位置的元素比较,若相等,则查找成功,返回该元素的存储位置;若不等,则所需查找的元素只能在中间元素以外的前半部分或后半部分(例如,在查找表升序排列时,若给定值 key 大于中间元素,则所查找的元素只可能在后半部分)。然后在缩小的范围内继续进行同样的查找,如此重复,知道找到位置,或确定表中没有所需要查找的元素,则查找不成功,返回查找失败的信息。 算法:typedef int ElemType;
2021-10-05 19:33:59 121
原创 02 顺序查找
顺序查找 顺序查找也可以叫做线性查找。它对顺序表和链表都适用。对于顺序表可以通过数组下标递增扫描每个元素;链表通过指针 next 依次扫描每个元素。顺序表通常分为:对一般的无序线性表的顺序查找和按关键字有序的线性表的顺序查找。一般线性表的顺序查找 基本思想:从线性表的一段开始,逐个检查关键字是否满足给定的条件。若查找到某个元素的关键字满足给定的条件,那么就查找成功,返回该元素在线性表中的位置;若已经查到了表的另一端,但是没有查找到符合条件的元素,那么久返回查找失败的信息。 算法思想(正常版):
2021-10-04 17:52:10 473
原创 ======第六章文件管理======
文章目录6.1 文件和文件系统6.1.1 文件、记录和数据项6.1.2 文件类型和文件系统模型6.1.3 文件操作6.2 文件的逻辑结构6.2.1 文件逻辑结构的类型6.2.2 顺序文件6.2.3 索引文件6.2.4 索引顺序文件6.5.2 直接文件和哈希文件6.3 外存分配方式6.3.1 连续分配6.3.2 链接分配6.3.3 FAT 和 NTFS 技术6.3.4 索引分配6.4 目录管理6.4.1 文件控制块和索引结点6.4.2 目录结构6.4.3 目录查询技术6.5 文件存储空间的管理6.5.1 空闲
2021-07-14 23:30:05 965
原创 ======第五章设备管理======
目录5.1 I/O系统5.1.1 I/O设备5.1.2 设备控制器5.1.3 I/O通道5.1.4 总线系统5.2 I/O 控制方式5.2.1 程序 I/O 方式5.2.2 中断驱动 I/O 控制方式5.2.3 直接存储器访问(DMA)I/O 控制方式5.2.4 I/O 通道控制方式5.3 缓冲管理5.3.1 缓冲的引入5.3.2 单缓冲和双缓冲5.3.3 循环缓冲5.3.4 缓冲池5.4 I/O 软件5.4.1 I/O 软件的设计目标和原则5.4.2 中断处理程序5.4.3 设备驱动程序5.4.4 设备独
2021-07-14 20:26:02 481 1
转载 ======第四章存储器管理======
目录4.1 存储器的层奇结构4.1.1 多级存储器结构 存储器是计算机系统的重要组成部分。近年来,存储器容量虽然一直在不断扩大,但 仍不能满足现代软件发展的需要,因此,存储器仍然是一种宝贵而又紧俏的资源。如何对 它加以有效的管理,不仅直接影响到存储器的利用率,而且还对系统性能有重大影响。存 储器管理的主要对象是内存。由于对外存的管理与对内存的管理相类似,只是它们的用途 不同,即外存主要用来存放文件,所以我们把对外存的管理放在文件管理一章介绍。4.1 存储器的层奇结构 在理想情况下存储器的速度应
2021-07-14 10:28:45 425
原创 ======第三章处理机调度与死锁======
目录第三章 处理机调度与死锁3.1处理机调度的层次3.1.1 高级调度3.1.2 低级调度3.1.3 中级调度3.2 调度队列模型和调度准则3.2.1 调度队列模型第三章 处理机调度与死锁3.1处理机调度的层次 在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统性能(吞吐量、响应时间),在很大程度上取
2021-07-14 02:27:47 403 1
原创 ======第二章进程管理======
目录2.1 进程的基本概念2.1.1 程序的顺序执行及其特征2.1.2 前驱图2.1.3 程序的并发执行及其特征 在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位的是进程。操作系统所具有的四大特征也都是基于进程而形成的,并可以从进程的观点来研究操作系统。显然,在操作系统中,进程是一个极其重要的概念。2.1 进程的基本概念 在未配置OS的系统中,程序的执行方式是顺序执行,也就是说必须在一个程序执行完后,才允许另一个程序执行;在多道程序环境下,则允许多个程序并发执行。程序的
2021-07-01 15:11:03 456
原创 ======第一章总结及习题======
目录计算机操作系统(第4版)学习指导与解题1.1 基本内容1.1.1 操作系统的目标和作用1.1.2 操作系统的发展过程1.1.3操作系统的基本特征和功能1.1.4操作系统的结构设计1.2重点,难点学习提示1.3典型问题分析和解答1.3.1OS的引入和发展过程中的典型问题分析【例1】试说明操作系统与硬件、其他系统软件以及用户之间的关系【例2】什么是多道程序技术?在OS中进入该技术,带来了哪些好处?【例3】推动批处理系统和分时系统形成和发展的主要动力是什么?【例4】【例5】实现分时系统的关键问题是什么?应如何
2021-06-17 15:37:02 1661 4
原创 ======第一章操作系统引论======
目录引言1.1操作系统的目标和作用1.1.1操作系统的目标1.1.2 操作系统的作用1.1.3推动操作系统发展的主要动力1.2 操作系统的发展过程1.2.2单道批处理系统1.2.3 多道批处理系统1.2.4 分时系统1.2.5 实时系统1.2.6 微机操作系统的发展1.3 操作系统的基本特性1.3.1 并发1.3.2 共享1.3.3 虚拟1.3.4 异步1.4 操作系统的主要功能1.4.1处理机管理功能1.4.2 存储器管理功能1.4.3 设备管理功能1.4.4. 文件管理功能1.4.5 操作系统与用户之前
2021-06-13 21:43:02 1011
原创 牛客题霸-SQL篇——10~20题
目录+ SQ11:获取所有员工当前的manager描述实例代码:+ SQ11:获取所有员工当前的manager描述有一个员工表dept_emp简况如下:第一行表示为员工编号为10001的部门是d001部门。有一个部门经理表dept_manager简况如下:第一行表示为d001部门的经理是编号为10002的员工。获取所有的员工和员工对应的经理,如果员工本身是经理的话则不显示,以上例子如下:实例代码:select d.emp_no,m.emp_no managerfrom de
2021-06-08 14:52:52 718
原创 牛客题霸-SQL篇——1~10题
目录+ SQ1:查找最晚入职员工的所有信息描述建表语句如下:示例代码注意事项:+ SQ2:查找入职员工时间排名倒数第三的员工所有信息描述建表语句如下:示例代码+ SQ3:查找当前薪水详情以及部门编号dept_no描述建表语句如下:示例代码+ SQ4:查找所有已经分配部门的员工的last_name和first_name以及dept_no描述建表语句如下:示例代码+ SQ5:查找所有员工的last_name和first_name以及对应部门编号dept_no描述建表语句如下:示例代码+ SQ7:查找薪水记录超过
2021-06-07 21:19:57 680
原创 javaweb实训第六天下午——Mybatis基础
Mybatis基础1.课程介绍2.为什么需要Mybatis3.初识Mybatis3.1.Mybatis是什么3.1.1.什么是框架3.1.2.什么叫数据库持久化3.1.3.什么是ORM3.1.3.1.ORM框架映射方式3.1.3.2.ORM原理3.1.3.3.常见的ORM持久化框架3.2.`Mybatis的起源3.3.Mybatis的优势4.MyBatis入门4.1.导入相应的jar包4.2.准备相应的表4.2.1.准备相应的domain4.2.2.product的dao层准备4.2.3.测试先行4.3.入
2021-06-02 17:08:14 939 1
原创 javaweb实训第六天上午——JSON&SpringMVC进阶
JSON&SpringMVC进阶1.课程介绍2.JSON2.1.JSON概述2.2.JSON语法2.2.1.如何用JSON表示一个对象2.2.2.如何用JSON表示一个数组2.2.3.JSON字符串和JSON对象3.SpringMVC返回JSON3.1.Java对象转成JSON格式的数据3.2.Json中对日期格式的特殊处理3.3.注意事项4.文件上传与下载4.1.文件上传4.1.1.添加jar文件4.1.2.jsp页面4.1.4.后台处理4.2.文件下载4.2.1.前台代码4.2.3.解决中文问题
2021-06-02 16:37:07 876 1
原创 javaweb实训第五天下午——xml配置文件约束报错问题
spring框架中xml配置文件约束报错问题问题描述:问题描述:如果电脑连不上网,或者网速不好可能会造成Spring框架中xml配置文件出现错误。但是这个错误不影响项目的运行的;<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/s
2021-06-02 15:58:59 1028 2
原创 javaweb实训第五天下午——SpringMVC基础
SpringMVC基础1.课程介绍2.SpringMVC概述3.SpringMVC入门3.1.入门需知3.1.1.Jar包管理3.1.2.核心控制器(前端控制器)3.2.加入相关Spring的jar包3.3.配置核心控制器3.4.准备SpringMVC配置文件3.5.编写请求处理控制器Controller3.6.添加处理请求代码3.7.编写页面3.8.配置我们的控制器3.9.访问3.10.常见问题4.前端控制器配置4.1. *.xxx(后缀匹配或扩展名匹配)4.2. /*4.3. /(现在最流行的配置方式)
2021-06-02 15:53:54 952 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人