自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿七的博客

一名在街头放飞理想的有志青年

  • 博客(86)
  • 资源 (11)
  • 收藏
  • 关注

原创 Redis技术总结

底层使用了SDS简单动态字符,string一共三种编码方式,int,embstr,rawint主要存储long型整数string有两个数据结构redisObject和SDSembstr和raw底层sds,主要区别是embstr的redisobject和sds连续存储在一起,而redisobject和sds通过指针相连,不连续。当int型时,大于19用embstr,大于44用raw浮点数,字符串默认embstr,大于44用raw主要用途是存储用户信息,token,分布式锁,计数器等。

2024-04-24 17:29:10 556

原创 Redis学习总结(基本数据类型 底层结构)

基本用法SET存储字符串值。SETNX仅在键不存在的情况下存储字符串值。用于实现锁。GET检索字符串值。MGET在单个操作中检索多个字符串值。key - value键值对,底层数据结构是SDS简单动态字符。详细来说的话,底层有三种编码方式,int,embstr,raw其中int存储的是long型数据,其他两个都用sds,不过embstr编码的sds是最结构效率最快的。应用场景。??

2024-04-24 16:29:13 648

原创 Mysql 锁学习笔记

事务隔离级别为可重复读(Repeated Read, RR)以主键或唯一索引作为查询条件,有存在值(记录)时是行锁,不存在值时触发间隙锁。普通索引作为查询条件,恒定间隙锁。索引作为查询条件,并以范围取值时,产生间隙锁。无索引时的普通检索,产生表锁。

2024-04-23 15:54:51 1088

原创 Mysql技术总结

mysql 5.5之前默认是myisam,之后是innodb。innodb支持表锁,行锁,间隙锁。myisam支持表锁。innodb是聚簇索引,索引和数据存储在一起。myisam是非聚簇索引,索引和数据分开存储。innodb支持事务,myisam不支持。innodb支持外键,myisam不支持。

2024-04-16 11:00:37 711

原创 Mysql总结复习

1.B+树的数据都集中在叶子结点,分支只有索引,所以分支可以存放更多的索引,而B树的分支也有数据,所以B+树的层高会小于B树,因此读取数据产生的磁盘开销也会小于B树.2.B+树擅长范围查询,叶子结点存放的数据是按顺序存放的双向链表,而B树只能中序遍历.

2024-02-19 17:26:16 874

原创 VUE项目bug总结

当遇到这种错误时一般有两种情况,一种就是你没有定义该变量在data中。还有一种就是就是我的情况,这里先上代码这种情况识别不到this.list变量,可以用let that=this或者注意:这里的数组一定要用push,千万别用list[index]=.....,经本人实验,这种方法初始化页面识别不到(数据倒是有)。

2023-08-29 17:14:45 2

原创 SQL力扣练习(十一)

用case when,先判断是否根节点,然后根据一个内查询再区分是否叶节点,这个方法虽然简单点,但not in 较为损耗性能,总体速度与解法一差不多.首先根节点很好判断,先用一个flag 区分出根和非根,然后用p_id是否含有id,根据这个标准判断是否叶节点.使用left join和union实现 先改奇数id学生的名字,再改偶数id学生的名字,全改过来后,需要注意的是lag 取得是当前行之前的数据,lead 取的实当前行之后的数据。节点 1 是根节点,因为它的父节点为空,并且它有子节点 2 和 3。

2023-08-18 12:04:46 1126

原创 SQL力扣练习(十)

首先用自定义变量@count为大于等于100的排序,然后从第一步的表中筛选出数量大于三的,如下图,这里重点是从大到小排序。然后再筛选即可得到答案。

2023-08-08 14:20:53 633

原创 Git(丢失stash数据恢复)

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | xargs -L 1 git --no-pager show -s --format="%ci %H" | sort //找到最近的哈希码。然后查资料说代码还有在暂存区stash,我看了看有个人说用git stash pop就行,于是代码没回来,而且暂存区stash的也没了,雪上加霜。结果这时发生了代码冲突,我的代码全没了,直接吓我一大跳。git add . //将本地代码添加到暂存区。

2023-08-02 08:53:56 1894

原创 SQL力扣练习(九)

表:Orders在 SQL 中,Order_number是该表的主键。此表包含关于订单ID和客户ID的信息。查找下了的客户的。测试用例生成后,比任何其他客户下了更多的订单。查询结果格式如下所示。

2023-07-31 11:33:00 397

原创 SQL力扣练习(八)

其 tiv_2015 与其他投保人不同,并且位置与第三条记录相同,这也导致了第三条记录不符合题目要求。tiv_2015 是该投保人在 2015 年的总投保金额,tiv_2016 是该投保人在 2016 年的总投保金额。因此,结果是第一条记录和最后一条记录的 tiv_2016 之和,即 45。tiv_2015 值为 10 与第三条和第四条记录相同,且其位置是唯一的。写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都。该表的每一行都表示雇员的名字、他们的部门和他们的经理的id。

2023-07-28 14:06:39 534

原创 力扣算法练习(四)

给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。

2023-07-28 09:52:14 99

原创 SQL力扣练习(七)

Tripsid 是这张表的主键。这张表中存所有出租车的行程信息。每段行程有唯一 id ,其中 client_id 和 driver_id 是 Users 表中 users_id 的外键。status 是一个表示行程状态的枚举类型,枚举成员为(‘completed’, ‘cancelled_by_driver’, ‘cancelled_by_client’)。Usersusers_id 是这张表的主键。

2023-07-25 09:59:29 1107

原创 SQL力扣练习(六)

到现在,我对这个自定义函数的用法才稍微熟练了一点,这自定义函数的出现,可以让sql变的更加灵活。CASE这个意思是,如果@pre等于当前的DepartmentId则@rank加一,否则更新@pre的值且@rank=1。这个@rank的值命名为RANK字段。用这个进行排序的关键就是from 的表需要有序。FROM (## 自定义变量RANK, 查找出 每个部门工资前三的排名CASE(## (部门,薪水)去重,根据 部门(升),薪水(降) 排序)te)t。

2023-07-07 15:31:44 720

原创 SQL力扣练习(五)

此表的每一行都表示员工的ID、姓名和工资。它还包含他们所在部门的ID。编写一个 SQL 查询,找出所有从不订购任何东西的客户。departmentId是Department表中ID的外键。| 列名 | 类型 |编写SQL查询以查找每个部门中薪资最高的员工。| 列名 | 类型 |此表的每一行都表示一个部门的ID及其名称。id是此表的主键列。id是此表的主键列。

2023-07-06 15:26:47 502

原创 力扣算法练习(三)

这是k神的解法,只能说看完以后,直接佩服,用字符缓冲区完美的解决了这个问题,我真的有点惯性思维了,第一时间只想到了二维数组。还有flag用的很妙。首先将字符串分割成数组并去掉首部空格,然后遍历,如果第一个为符号,则存入,然后匹配数字,不是数字则break。记rev 为翻转后的数字,为完成翻转,我们可以重复「弹出」xxx 的末尾数字,将其「推入」rev 的末尾,直至 xxx 为 000。这个是力扣上的官方解析,算法很好,首先列一个状态表,存入map,再遍历字符串,根据状态分别进行不同的判断。

2023-07-06 14:17:10 308

原创 SQL力扣练习(四)

EmployeeId是该表的主键。该表的每一行都表示雇员的ID、姓名、工资和经理的ID。编写一个SQL查询来查找收入比经理高的员工。Employee 表:Joe 是唯一挣得比经理多的雇员。在这里普及一下连接小知识。1.​Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。

2023-07-04 09:29:33 561

原创 SQL力扣练习(三)

下面也是力扣的同学写的,我简要说明一下思路,首先也是分为两部分,第一部分查出数据,第二部分负责筛选去重,rn是给按id排序加一下序号,作者应该是考虑到id不连续的情况。然后在去重的过程中,根据num和rn-id_rn排序,这里的第二个排序又可能不太好看出,因为上面的rn和id_rn都是根据id分组的,所以如果相减的话,他们也是同步的,而我们的num也不会重复,所以这样分组出来的数据是正确的。需要注意的是lag 取得是当前行之前的数据,lead 取的实当前行之后的数据。id 是这个表的主键。

2023-06-28 14:22:10 1143

原创 力扣算法练习(二)

主要参考自力扣官网解法。

2023-06-26 17:08:56 325

原创 SQL练习题(二)

作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续。说明:和rank() over 的作用相同,区别在于dense_rank() over 排名是密集连续的。两种解法:我想到的就是最简单的分页,直接用现成的limit就可以返回我们想要的数据。该表的每一行都包含了一场比赛的分数。第二步:把上面的结果和我们的scores表关联,最终得到没去重的排序。@rank_no:=@rank_no+1,累加@rank_no的值。@rank_no:=0,设置变量@rank_no的初始值为0。

2023-06-26 09:34:01 221

原创 力扣算法练习(一)

解法思路(O(max(m,n))):因为这是一个单链表,不可逆向查找,只能从头找到尾.所以首先,我们需要设置一个头指针和尾指针.让他们同指向同一个链表,然后需要一个临时变量来存储每一位的和.实现代码如下.因为给出的两个数组都是有序数组,所以可以从两个数组的首端开始比较,较小的放入新数组,具体实现代码如下。解法思路:这个题可以采用归并排序的思路,首先需要设置一个空数组,临时变量和两个指针,的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。请你找出并返回这两个正序数组的。

2023-06-21 11:28:11 837

原创 sql力扣练习(一)

sql力扣练习

2023-06-21 10:05:46 1112

原创 力扣算法第一、二、三题

由于哈希查找的时间复杂度为 O(1),所以可以利用哈希容器 map 降低时间复杂度。遍历数组 nums,i 为当前下标,每个值都判断map中是否存在 target-nums[i] 的 key 值。如果存在则找到了两个值,如果不存在则将当前的 (nums[i],i) 存入 map 中,继续遍历直到找到为止。如果最终都没有结果则抛出异常。最终时间复杂度为o(n)

2022-09-21 16:52:43 614 1

原创 Nignx服务器,项目部署和Yapi,Swagger工具

安装过程Nginx——centos7通过yum方式快速安装Nginx并测试是否安装成功(图解版)_小志的博客的博客-CSDN博客_验证nginx部署成功参考这个即可,我的服务器是centos7。下面是nginx的安装重点目录结构。hbuilder下面是这个工具的可视化页面。还有一个工具APIFOX好像也不错。这个部署好像有点麻烦。百度直接搜索即可。

2022-09-14 09:34:04 1115

原创 Spring Cache和Mysql主从复制

步骤下面是我们需要进行的步骤。首先我们用的是redis。1.导入maven坐标2.配置核心文件application.ymlspring:cache:redis:time-to-live: 1800000 #设置缓存数据过期时间3.在启动类上加@EnableCaching注解。然后我们进行对应缓存配置即可。4.接下来我们举几个代码例子来说明每个注解的运用。/*** CachePut:将方法返回值放入缓存* value:缓存的名称,每个缓存名称下面可以有多个key* key:缓存的key。

2022-09-07 18:19:50 268

原创 VSCode配置C和C++语言

1.首先我们需要安装一下Mingw大概目录结构如下2.然后我们解压后就看到上面的一个页面,这时我们需要配置一下环境变量。在用户变量和系统变量都可以,只要是在path下就行。3.现在我们可以在cmd下测试一下。出现类似以下就代表成功了。现在我们再输入gcc -v -E -x c++ -,然后我们会出现下面的东西。我们可以看到 这几个路径,很重要。

2022-09-06 17:27:26 2027

原创 黑马瑞吉外卖项目开发笔记

我这里用的是Navicat图形化工具创建的,或者通过命令行创建,不过就是比较麻烦,这里就不介绍了。然后导入我们的sql脚本,我们就可以看到下面的数据库文件了。开发一个功能接口,我们基本需要几个简单步骤,首先对功能进行需求分析,然后我们编写需要操作的实体类(对应我们的数据表),然后创建对应的mapper,然后接着创建对应的service接口和实现类,最后创建我们的controller控制类。接着我们按需求开发即可。下面是一个登录接口开发过程下面是对应要开发的前端静态页面,我们通过F12进行调试观察。

2022-09-03 20:44:16 2132 1

原创 关于git版本控制在IDEA中的使用

在idea的设置中找到git,然后如下图的右上角路径,输入安装路径即可,再点击右边测试,可以测试出git版本。如下图,我们可在idea找到以下路径,进行git本地仓库初始化(这里其实跟git init直接运行一样)。我们一般常用的是gitee和github,上图市gitee的示例图。右下角的master图标,我们可以在这里创建分支,切换,查看分支。添加上我们便可以在项目中看到下面这样的图标,表示我们配置成功。用过git的应该都知道,我们一般提交项目的过程就是。点击下图的push,即可提交分支。

2022-09-03 11:48:51 1246

原创 Refind多引导系统界面

refind是uefi环境下使用的引导器,他可以引导多个系统,使我们的引导界面更加方便美观。官方网站以下过程仅适用于efi的启动模式,且一定要关闭secure boot有两种方式,一是在win10下安装,2是在linux下安装当然,在我的资源里面也有。......

2022-08-30 10:05:27 2535

原创 微信公众号推送天气(最近超火的小玩意)

在抖音上看到了,然后自己试了试。首先,这个东西并不太难,毕竟代码大佬们已经开源了,我们只需要会改写相关参数就行,我们也算是站在巨人的肩膀上砥砺前行,话不多说,接下来开始正题~

2022-08-23 22:39:09 10426 22

原创 数据结构学习笔记(第八章 排序-内部排序)

图解算法请看排序算法之基数排序_小C哈哈哈的博客-CSDN博客_基数排序算法空间复杂度o(r),r为辅助存储空间,辅助队列数量。时间复杂度o(d(n+r)),d为趟,r为辅助队列数量。稳定。以上均为内部排序算法。httpshttpshttpshttpst=M666httpshttpshttpshttpshttpshttpshttps。...

2022-07-27 18:22:56 294

原创 数据结构学习笔记(第七章 查找)

目录基本概念静态查找:动态查找:线性结构顺序查找折半查找分块查找树形结构二叉排序树平衡二叉树红黑树B树散列表散列函数的构造方法处理冲突的方法 在静态查找表上进行的查找操作,查找满足条件的数据元素的储存位置或者各种属性。静态查找有三种查找方式:顺序查找、折半查找和散列查找。需动态的插入或删除的查找表。查找方式有:二叉排序树查找和散列查找,二叉排序树和B树都是二叉排序树的改进。顺序查找又称线性查找,顾名思义,就是按顺序依次查找元素。对顺序表和链表都适用。折半查找又称二分查找,仅适用于有序顺序表。顾名思

2022-07-20 17:25:51 510 1

原创 Springboot学习笔记(监控)

目录监控监控的意义 配置监控服务器创建项目配置端口配置监控启动 配置监控客户端创建项目 添加配置原理 INFO端点 Health端点Metrix指标 自定义端点代码首先我们来创建项目,我们可以通过勾选来引入springboot的监控 或手动导入依赖注:这里的版本一定要与springboot的starter版本一样,不然会导致错误server: port: 8080配置监控启动然后我们就可以看到或手动添加依赖 添加配置然后启动我们就可以看到了 现在可以看的信息很少,我

2022-07-10 23:21:31 138

原创 Springboot学习笔记(消息及activemq,rabbitmq,rocketmq和kafka)

目录消息ActiveMQ:下载与使用(如果嫌下载麻烦的,我的资源里面也有,可以自行下载,全套的mq) Springboot整合 RabbitMQ下载与安装 Springboot整合RabbitMQ RoctetMQ下载和安装 Springboot整合RocketMQKafka下载与安装 Springboot整合kafka下面我们将围绕四种异步传递技术开始介绍:MQTT:消息队列遥测传输,专为小设备设计,是互联网生态系统主要成分之一。Kafka:一种高吞吐量的分布式发布订阅消息系统,提供实时信息功能。我们下面

2022-07-09 22:58:33 706

原创 数据结构学习笔记(第六章 图)

图的定义这里不多加描述了,下面给出几种图的图像。 这是有向图,无向图和有向完全图。简单图:1.不存在重复边2.不存在顶点到自身的边多重图: 某两个顶点间的边数大于一条,又允许顶点通过一条边与自身关联。完全图:任意两个顶点间都有边关于其他基本概念可看下面这个博主写的超级详细数据结构:图(Graph)【详解】_UniqueUnit的博客-CSDN博客_数据结构图用一个一维数组存储顶点的信息,用一个二维数组存储边的关系(即顶点间的邻接关系),这个二维数组成为邻接矩阵。 注:无向图的邻接矩阵是对称矩阵,邻接矩

2022-07-08 18:22:18 786

原创 数据结构学习笔记(第五章 树和二叉树)

目录树定义:性质: 二叉树定义: 性质: 二叉树的存储结构1.顺序存储结构2. 链式存储结构二叉树的遍历线索二叉树 树的存储结构 树,森林,二叉树转换哈夫曼树树是具有n(>=0)个结点的有限集。树是一种递归的数据结构。树适合表示有层次结构的数据。是一种树形结构,且每个结点最多有两颗子树(且每个结点的度...

2022-07-06 15:44:30 216

原创 Springboot学习笔记(发送邮件)

首先来普及一下以下几种协议(与邮件有关) 1.引入依赖2.配置 3.简单代码示例4.复杂点的邮件(html效果或附件效果)

2022-07-05 22:35:46 125

原创 Springboot学习笔记(springboot整合定时任务框架)

目录定时任务QuartzSpringTask是我们在编程中需要的东西。Java中定义了定时任务的类,下面我们来简单示范一下。Quartz然后由于这样比较繁琐,不太方便,所以我们下面来介绍一下springboot整合定时框架quartz。 1.引入依赖2.创建任务类3.创建配置类,并绑定任务类4.启动springboot,定时任务就自动开始了然后感觉上面的步骤还是有点麻烦,我们的task就给出了更简单的方法。1.开启2.在方法类中开启然后就完成了,非常简单。...

2022-07-04 21:54:21 412

原创 数据结构学习笔记(第四章 串)

串,也就是我们常说的字符串,我们在程序中经常这样定义String S="*******";里面字符的个数就是串的长度,没有字符就叫空串。(里面有空格,不算空串哦)串的逻辑类型与线性表极为类似,区别在于串的数据对象限定于字符集。在基本操作上,串和线性表有很大区别。串经常以子串为操作对象。 类似于线性表的链式存储结构。因为每个元素只能放一个字符。所以在具体实现时,每个结点即可以放一个字符,也可以放多个字符。每个结点称为块,整个链表称为块链结构。子串的定位操作通常称为串的模式分配1.简单匹配算法左图就是简单算法

2022-07-04 16:22:40 159

原创 Springboot学习笔记(JetCache和J2cache)

目录Jetcache远程方案: 本地方案比较全面的配置参考yml Jetcache方法缓存(实战参考) J2cache在上一篇提到了springboot整合各种缓存的应用,我们可以发现,列举的三种缓存基本的配置都有些许差别,有的需要xml配置,有的不需要,所以为了解决这种问题,我们在这引入了新的技术jetcache。下面我们选择LinkedHashMap和Redis搭配使用。1.引入依赖2.开启jetcache3.更改配置 4.缓存运用本地方案1.更改配置 2.代码示例比较

2022-07-03 23:19:59 698

数据结构c语言代码(devc++版)

里面包含了数据结构c语言示例代码,且用了c++引用,与王道书基本一致,仅供参考。 包括 顺序表 链表 栈 队列 树 查找 排序 串

2022-07-27

数据结构c++代码(栈,队列,斐波那契数列)

数据结构c++代码(栈,队列,斐波那契数列),由devc++软件编写,主要是c语言代码,用了c++的引用

2022-07-16

数据结构第二章线性表c++代码

数据结构第二章线性表c++代码,由devc++软件编写,内部有静态顺序表,动态顺序表,单链表,双链表代码实现增删改查。

2022-07-14

数据结构单双链表c++版

数据结构单双链表c++版,用devc++软件编写、内部有单双链表数据结构实现代码,增删改查。

2022-07-14

数据结构c++代码(顺序表的代码,包括静态顺序表和动态顺序表)

数据结构c++代码(顺序表的代码,包括静态顺序表和动态顺序表),由devc++软件编写

2022-07-13

一个集画画和钢琴两种功能的app

一个集画画和钢琴两种功能的app,全英文的哦,适合新手参考 画板集成了多种功能,有擦除,换颜色,加粗变细等功能 钢琴集成了两种声音。钢琴声和笛声。

2022-06-28

一个简单的点餐APP。

一个简单的点餐app,全英文哦

2022-06-28

黑马优购微信小程序项目(学习自黑马程序员,代码纯属手工打造,在原有的基础上改造了一丢丢)

黑马优购微信小程序,一款微信小程序购物平台,前后端分离,这是前端资料

2022-06-19

多系统引导+refine

多系统引导界面

2022-04-06

豆瓣Top250数据可视化完整代码,DouBanMovieTop250.rar

豆瓣Top250数据可视化完整代码,python爬虫,flask,适合新手

2022-01-06

空空如也

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

TA关注的人

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