自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 开源项目热榜-2023年OD统一考试(C卷)

题目描述:某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。数据库里面统计了每个开源项目关注、收藏、fork、issue、MR的数量,开源项目的热度根据这5个维度的加权求和进行排序。H = (Wwatch* #watch) + (Wstar* #star) + (Wfork* #fork) + (Wissue* #issue) + (Wmr* #mr)H表示热度

2024-04-08 22:54:39 227 1

原创 用连续自然数之和来表达整数-2023年OD统一考试(C卷)

一个整数可以由连续的自然数之和来表示。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。输入描述:一个目标整数T (1

2024-04-08 19:40:27 389

原创 围棋的气-2023年OD统一考试(C卷)

接着,它遍历棋盘上的每个棋子,计算每个棋子的“气”。2、所有同色棋子的气之和叫作该色棋子的气,需要注意的是,同色棋子重合的气点,对于该颜色棋子来说,只能计算一次气,比如下图中,黑棋一共4口气,而不是5口气,因为黑1和黑2中间红色三角标出的气是两个黑棋共有的,对于黑棋整体来说只能算一个气。1、在棋盘的边缘上的棋子最多有3口气(黑1),在棋盘角点的棋子最多有2口气(黑2),其它情况最多有4口气(白1)3、本题目只计算气,对于眼也按气计算,如果您不清楚“眼”的概念,可忽略,按照前面描述的规则计算即可。

2024-04-08 09:31:15 221

原创 寻找身高相近的小朋友-2023年OD统一考试(C卷)

小明身高100,班级学生10个,身高分别为95 96 97 98 99 101 102 103 104 105,按身高差排序后结果为:99 101 98 102 97 103 96 104 95 105。输出排序结果,各正整数以空格分割。和小明身高差绝对值最小的小朋友排在前面,和小明身高差绝对值最大的小朋友排在最后,如果两个小朋友和小明身高差一样,则个子较小的小朋友排在前面。第一行为正整数H和N,0

2024-04-07 17:12:09 119

转载 docker学习之路(入门篇一)

入门篇一.出现的原因及解决思路1.配置问题2.解决思路3.实际解决方法--Docker二.一次镜像,处处运行三.容器与虚拟机对比1.容器发展简史2.传统虚拟机技术1.结构图2.缺点3.容器虚拟化技术1.结构图2.特点分析一.出现的原因及解决思路1.配置问题自己的开发环境具有特定的配置,而其他开发人员也各有其特定的配置,又由于自己开发的应用依赖于自己原有的特定配置,故如果原封不动将此应用发给其他开发人员,就会由于配置不同而导致诸多问题,从而需要费时费力去解决,明显带来不必要的效率问题。2.解决思路

2022-04-07 09:03:41 154

转载 快速入门Rabbitmq (进阶篇一)

夯实基础到进阶一.发布确认springboot版本1.一.发布确认springboot版本1.

2021-12-21 14:44:58 135

转载 快速入门rabbitmq(延迟队列篇)

延迟队列相关学习一.基础知识二.整合springboot并测试三.优化延迟队列一.基础知识概念:用来存放需要在指定时间被处理的元素的队列,即希望到了指定时间以前或以后处理队列内的元素关系:属于死信队列三种情况中消息TTL过期的情况(从下图可表现出来)结构效果图说明:producer设置消息有效时间为t,如果c1这时不能处理消息,消息会在normal-queue中停留t时间,如果t之后c1还是不能处理信息,就会进入dead_exchange,进而通过死信队列给到c2来处理消息。从pro

2021-11-09 11:43:08 128

转载 快速入门RabbitMq(第二篇)

这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录

2021-10-31 15:58:57 75

转载 入门redis六(集群)

集群一.主从复制二.测试基本命令和配置1.配置2.命令一.主从复制概念:一台redis服务器的数据,复制到其他redis服务器上。前者称为主节点(master/leader),后者称为从节点(slave/follower)。复制特点:1.数据的复制是单向的,只能由主节点到从节点。2.master以写为主,slave以读为主。结构特点:1.默认情况下,每台redis服务器是一个主节点。2.主节点可以有多个从节点,但从节点只能有一个主节点。使用说明:一般情况下,项目中使用redis,应该

2021-10-31 10:02:15 59

转载 快速入门RabbitMq(第一篇)

消息队列MQ基础篇一.概念部分1.什么是MQ2.为什么用MQ3.MQ的分类一.概念部分1.什么是MQMQ(Message Queue),字面意思上是个队列,支持先进先出,队列存放内容是message一种跨进程的通信机制,用于上下游传递消息,使用后,消息发送上游只需要依赖MQ,不用依赖其他服务2.为什么用MQ用于流量消峰产生问题:例如一个订单系统最多只能处理一万次订单,正常情况下满足需求绰绰有余,但如果碰上像购物节类似的高峰期,同时下单的数量就可能会超过一万次,造成系统宕机解决问题:用

2021-10-29 09:57:50 191

转载 并发基础(三)

阻塞队列与线程池一.阻塞队列1.概述1.1特点总结1.2使用原因三级目录一.阻塞队列1.概述1.1特点总结当队列是空的,从队列中获取元素的操作将会被阻塞当队列是满的,从队列中添加元素的操作将会被阻塞试图从空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插入新的元素试图从已满的队列中添加新元素的线程将会被阻塞,直到其他线程从队列中移除一个或多个元素1.2使用原因使用时不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切被BlockingQueue一手包办了三级

2021-10-21 21:01:33 90

转载 并发基础入门(二)

从基础开始一.公平锁和非公平锁二级目录三级目录一.公平锁和非公平锁二级目录三级目录

2021-10-18 21:36:23 48

转载 dubbo特性用法汇总

高级特性一.序列化二.地址缓存三.超时与重试1.超时机制2.重试机制三.多版本一.序列化用于实现不同机器间传输数据,例如传输java对象dubbo内部已经将序列化和反序列化过程封装了我们只需要在定义pojo类时实现serializable接口即可,否则用到pojo类时会报错一般会定义一个公共的pojo模块,让生产者和消费者都依赖该模块二.地址缓存问题:注册中心挂了,服务是否可以正常访问答案:可以,因为dubbo服务消费者在第一次调用时,会将服务提供方地址缓存到本地,以后再调用则不会访问

2021-10-14 15:37:23 106

原创 dubbo与zookeeper注意事项(填坑)

java NIO概述一.区分BIO和NIO概念1.阻塞IO(BIO)2.非阻塞IO(NIO)二.NIO核心部分1.核心之一----Channels2.核心之二----Buffer3.核心之三一.区分BIO和NIO概念1.阻塞IO(BIO)理解:发出IO请求后,如果拿不到指定要求的数据就阻塞。示例:已知后面会有10个字节的数据发过来,但是我现在只收到8个字节,那么当前线程就在那傻傻地等到下一个字节的到来,对,就在那等着,啥事也不做,直到把这10个字节读取完,这才将阻塞放开通行。2.非阻塞IO(N

2021-10-13 19:20:04 292

转载 并发基础入门(一)

从掌握基础开始一.JUC概述和进程线程等基本概念1.进程与线程2.线程状态3.wait()和sleep()4.串行和并行5.管程6.用户线程和守护线程二.Lock接口JUC概述:java.util.concurrent包的简称,以处理线程为主,自jdk1.5开始出现。一.JUC概述和进程线程等基本概念1.进程与线程进程:系统进行资源分配和调度的基本单位,是程序的实体线程:操作系统进行运算调度的最小单位,一条线程是指进程中一个单一顺序的控制流。两者关系示例:打开360安全卫士,即开启一个进程

2021-10-13 09:38:25 78

转载 springboot源码(web篇)

以web的servlet,listener,filter为例,比较它们的原生web注解和用spring方式注入的区别一.原生web注解和用spring方式注入的区别1.使用原生注解servlet API1.1 servlet用法1.2 listener用法1.3 filter用法2.使用spring方式注入Servlet组件3.dispatcherservlet如何注入进来(分析其自动配置类)二.切换web服务器与定制化一.原生web注解和用spring方式注入的区别1.使用原生注解servlet AP

2021-09-04 15:05:18 375

转载 mysql优化基础四(主从复制)

配置与相关概念一.复制基本原理二.一主一从常见配置一.复制基本原理slave会从master读取binlog来进行数据同步三步骤和原理图:1.master将改变记录到二进制日志(binary log),这些记录过程叫二进制日志事件,binary log events。2.slave将master的binary log events拷贝到它的中继日志(relay log)。3.slave重做中继日志中的事件,将master的改变应用到自己的数据库中,mysql复制是异步且串行化的。二.一主

2021-08-25 15:49:52 60

转载 mysql优化基础三(锁机制)

查询截取分析一.查询优化1.小表驱动大表2.order by关键字优化一.查询优化1.小表驱动大表原则:小的数据集驱动大的数据集。原因:解释原因博客链接原理:1.当B表数据集小于A表数据集时,用in优于exists。可以假设B表是部门表,A表是员工表,显然B表的部门少于A表的员工。根据上图的for语句,就是先从小表B中查询出id值,再从大表A中查询出其id与B表的id相同的数据。2.当A表数据集小于B表数据集时,用exists优于in。可以假设A表是部门表,B表是员工表,显然A表的部

2021-08-24 13:14:21 107

转载 mysql优化基础二(索引篇)

主要针对索引优化问题一.索引优化案例1.单表优化2.两表优化3.三表优化二.避免索引失效三.索引相关题目分析一.索引优化案例mysql5.5建表操作注意事项:以下代码中id和article字段的引号。CREATE TABLE `article` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT....)CREATE TABLE 'article' ('id' INT(10) UNSIGNED NOT NULL PRIMARY KEY ....

2021-08-20 11:16:26 56

转载 mysql优化基础一(基础理论篇)

一方面优化,一方面注意事项一级目录二级目录三级目录一级目录二级目录三级目录

2021-08-19 17:03:11 61

原创 浅析八大排序算法

个人理解+转载的排序算法一.希尔排序二.插入排序(从小到大为例)一.希尔排序主要思想:通过在每一轮设置索引的增量间隔(随轮数增加不断有规律地缩小)来对每一组间隔的两个元素进行比较排序,直到增量间隔为1。步骤概述:1.设置增量间隔gap的for循环;2.设置处理每一组gap间隔的元素的for循环;3.通过移位的方式比较排序这两个gap间隔的元素。模板代码:public static void shellSort(int arr[]){ for(int gap = arr.l

2021-08-06 21:03:25 60

转载 IDEA安装,数据库,项目问题(谷粒学院)

mybatis模块1.代码生成器:1.代码生成器:遇到报错Class not found: "com.example.service2.CodeGenerator",我自己查出的原因是由于CodeGenerator这个代码生成器所在module的命名也是service2,与com.example.service2包有重名部分,修改service2为其他名即可。...

2021-07-16 20:21:30 745 1

转载 信号量的pv操作

信号量与进程一.信号量机制1.整形信号量2.记录信号量二.信号量实现互斥,同步,前驱关系1.进程互斥2.进程同步3.前驱三.总结一.信号量机制1.整形信号量以上的整形型号量出现了忙等的不足,则有了以下的记录信号量来更正。2.记录信号量二.信号量实现互斥,同步,前驱关系1.进程互斥2.进程同步3.前驱三.总结...

2021-07-06 15:39:57 200

转载 入门redis五(订阅发布)

redis订阅发布一.入门须知二.测试命令三.浅析原理一.入门须知定义: redis订阅发布是一种消息通信模式,即发送者发送信息,订阅者接收信息。图解订阅发布:1.下图为订阅时,频道channel1,以及订阅这个频道的三个客户端之间的关系图2.下图为发布时,频道channel1,以及订阅这个频道的三个客户端之间的关系图操作命令:1.psubscribe pattern [pattern…] #订阅一个或多个符合给定模式的频道2.pubsub subcommand [argument

2021-07-05 16:11:12 66

转载 入门redis四(持久化)

持久化一.RDB(Redis DataBase)1.入门须知2.深入了解3.触发机制4.恢复rdb文件5.优缺点一.RDB(Redis DataBase)1.入门须知RDB是内存数据库,意味着如果服务器进程退出,而RDB的数据没有由内存保存到磁盘,则会丢失这部分数据,因而redis提供了持久化功能。2.深入了解配置路径:redis.conf-》##SNAPSHOTTING##(快照)执行流程图:流程说明:redis会单独创建一个子进程来进行持久化,先将数据写到一个临时文件,待持久化过程

2021-07-03 21:42:59 75

转载 入门redis三(事务与java)

事务操作一.二级目录一.二级目录

2021-06-30 22:46:07 94

转载 入门redis二(特殊数据类型)

特殊数据类型一.Geospatial(地理位置)1.添加与获取地理位置2.获取两地距离3.查询指定地点半径周围的位置一.Geospatial(地理位置)1.添加与获取地理位置geoadd key longitude latitude member [ longitude latitude member …]geopos key member [member …]127.0.0.1:6379> geoadd china:city 121.48 31.40 shanghai #key为chi

2021-06-24 09:27:47 45

转载 入门redis一(基本命令)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-22 21:17:54 103

转载 磁盘结构与管理

磁道一.磁道结构1.1如何在磁盘中读/取数据1.2磁盘的物理地址1.3磁盘分类一.磁道结构1.1如何在磁盘中读/取数据上图为原来磁道在最外层,由于要读取的扇区在橙色区域,则需要移动到橙色区域处。1.2磁盘的物理地址1.3磁盘分类...

2021-05-29 11:54:01 73

转载 文件系列四

文件操作一.文件共享1.1 硬链接1.2 软链接1.3 总结图二.文件保护2.1口令保护2.2加密保护2.3访问控制列表2.4Windows访问控制一.文件共享1.1 硬链接1.2 软链接如果user1和user2去掉了对索引结点1的链接,则user3不能,即文件1被删除,文件2还在,那么就不能通过“C:/User1/aaa”来访问文件1。1.3 总结图二.文件保护2.1口令保护2.2加密保护异或加密演示2.3访问控制列表精简前如下:精简后如下:2.4Windo.

2021-05-28 08:58:51 52

转载 文件系列三(存储空间管理)

存储空间管理一.存储空间的划分与初始化二.存储空间管理1.空闲表法1.1分配磁盘块1.2回收磁盘块2.空闲链表法2.1空闲盘块链2.2空闲盘区链3.位示图法4.成组链接法三.总结图一.存储空间的划分与初始化二.存储空间管理1.空闲表法1.1分配磁盘块以下为采用首次适应算法来决定分配区间:1.2回收磁盘块以上图即为回收区前后都是空闲区的情况,结果就是原本占用的15,16,17被回收,变为绿色,同时空闲盘块表合并盘块号为10,18的表项。2.空闲链表法2.1空闲盘块链2.2空.

2021-05-26 17:27:31 74

转载 文件系列二(分配方式)

文件系列二一.文件块、磁盘块二.文件分配方式--连续分配一.文件块、磁盘块二.文件分配方式–连续分配优点分析:理解以上结论的说明如下,如果是访问黄色的三个磁盘块,由于相邻距离最短,则由磁头移动依次访问它们三个用时最短。但如果是要访问紫色的三个块,由于是顺序访问,且这三个块不相邻,则访问一个块到下一个块之间移动时间会更长。...

2021-05-25 20:54:21 299

转载 文件系列一(基本结构)

文件管理一.文件的逻辑结构1.无结构文件2.有结构文件2.1 按记录长度区分2.2 按逻辑组织分类一.文件的逻辑结构1.无结构文件2.有结构文件2.1 按记录长度区分定长记录可变长记录2.2 按逻辑组织分类顺序文件索引文件...

2021-05-23 12:07:31 114

转载 内存分配管理

虚拟内存一.传统存储管理方式的特征,缺点二.局部性原理三.如何实现虚拟内存技术四.总结图一.传统存储管理方式的特征,缺点二.局部性原理三.如何实现虚拟内存技术四.总结图

2021-05-22 21:02:15 112

转载 死锁

死锁一.死锁的相关概念1.什么是死锁2.死锁、饥饿、死循环的区别3.死锁产生的必要条件二.死锁的处理策略1.不允许死锁发生1.1 静态策略:预防死锁1.2 动态策略:避免死锁2.允许死锁发生一.死锁的相关概念1.什么是死锁2.死锁、饥饿、死循环的区别3.死锁产生的必要条件如果同类资源大于1,例如上图的老者和4号钢铁侠拥有3号想要的资源,老者和钢铁侠的资源相加就是2份同类资源,那如果老者放下他的资源,3号就可以不必加入012345这个五边形循环。也就是说,同类资源大于1,即使有循环等待,也未必

2021-05-21 21:27:40 70

转载 基本分段存储方式

基本分段存储方式一.分段1.内存,进程与分段的联系2.分段的逻辑地址结构二.段表一.分段1.内存,进程与分段的联系2.分段的逻辑地址结构二.段表

2021-05-21 14:03:07 106

转载 基本分页存储管理

基本分页存储管理一.基本概念二.地址转换1.动态重定位(补充)2.分页技术3.页表三.总结图一.基本概念图二说明各页面可以不按先后顺序,不用连续存放。二.地址转换1.动态重定位(补充)由图二可知,在cpu执行指令时,涉及到访问某一个地址的内存单元,它会把目标逻辑地址值与重定位寄存器的值相加形成实际物理地址,例如逻辑地址为80,寄存器中为100,实际物理地址值就为180。另外,如果要在内存中发生移动,可以通过更改寄存器中的起始值来做到。2.分页技术思想(由1可知):模块在内存中的“起始地

2021-05-21 09:56:36 391

转载 连续分配管理方式

连续分配管理方式一.单一连续分配二.固定分区分配三.动态分区分配一.单一连续分配由图可知,此分配不支持并发运行,内存只装一个用户程序,不论该程序是否占满用户区内存,由此造成空闲区域浪费,利用率低。二.固定分区分配管理分区方法如下:三.动态分区分配情况一(回收区即指此时进程4运行完毕,将要被回收所占资源)情况二情况三情况四动态分区分配含义与机制...

2021-05-19 15:53:20 79

转载 计数器应用

开始应用计数器一.异步清零法与同步清零法1.异步清零(74LS90为例实现七进制加法计数器)一.异步清零法与同步清零法1.异步清零(74LS90为例实现七进制加法计数器)当在工作循环终点处生成控制信号时,由于采用异步清零法,则0110这个状态无法保留在循环中,无法实现七进制,所以要采用如上连接方式,使得出现0111这个短暂的状态完成清零,而由于很短暂,故不包含在工作循环中。假设我们让这个计数器采用同步清零法,不改变以上电路的情况下,出现0111时需要等到再次出现下降沿时才清零,此时则实现的是八进制

2021-05-18 09:38:19 8435

转载 认识寄存器

了解寄存器一.概念,特点与分类1.概念2.特点3.分类二.基本寄存器的结构和工作原理一.概念,特点与分类1.概念2.特点n为并行输入(同时)可以最终并行输出,也可以转成串行输出,同理,如果是n为串行输入也一样,可以有两种输出方式。3.分类二.基本寄存器的结构和工作原理注意点:信号顺序:对于寄存器是q0q1q2q3,但对于计数器是q3q2q1q0;工作两部走:第一步是...

2021-05-14 17:30:00 1282

空空如也

空空如也

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

TA关注的人

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