- 博客(45)
- 收藏
- 关注
原创 RabbitMQ消息可靠性、死信交换机、消息堆积问题
消息可靠性确保消息至少被消费了一次(不丢失)消息丢失的几种情况:消息在网络传输时丢失,如生产者到交换机,交换机到队列的过程中MQ宕机:消息到达Queue了,但在消费者消费之前,MQ就宕机了消费者宕机:消费者接收了消息但是还没处理就宕机了如何解决? RabbitMQ针对每一类情况提供了一些解决方法传输丢失延迟消息延迟消息的投递时间高可用问题从单点MQ到集群MQ消息堆积问题...
2022-05-16 09:03:40
823
原创 蓝桥杯| 备赛练习题+知识点合集
文章目录[知识点] 两个数的最小公倍数&最大公因数[判断一个数是否为素数][2017真题]k倍区间[2020填空]路径[2017填空] :纸牌三角形[2020 七段码][2018]字母阵列[2015填空]三羊献瑞逗志芃的危机幸运的店家礼物算法常见的考点和刷题记录[知识点] 两个数的最小公倍数&最大公因数约分法: a*b = (这两个数的最大公因数)* (这两个数的最小公倍数)假设a=18,b=30,要求最小公倍数。最大公因数: 6最小公倍数:90a*b=540可以看到18
2022-04-08 22:43:16
96381
1
原创 error: failed to push some refs to ‘github.com | 本地上传远程仓库,一次踩坑记录
文章目录背景main和master原因解决方法背景在本地创建了一个本地仓库,想和远程仓库关联起来以后方便管理,以前也弄过,没想到这次花了将近1个小时,还是踩到坑里了。首先一顿行云流水:在本地文件夹 git init 初始化仓库git add .git commit -m "first commit"然后添加远程仓库:git remote add origin [email protected]:wingchi-leung/aBlog.git然后push: git push -u origin m
2022-02-09 18:11:47
4498
2
原创 SpringSecurity初体验
文章目录实验一、引入spring security实验二、从mysql中加载用户实验一、引入spring security①、pom文件添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency><dependen
2022-02-01 14:30:44
3643
原创 TCP协议详解
网络层的任务是提供网络中的两个主机提供逻辑通信。从IP层上来看,通信的是两个主机。而传输层在网络中负责是两个主机上的应用程序进程提供逻辑通信。在传输层上看,通信双方是主机上的两个应用进程。传输层的功能:复用和分用差错检测:前提:网络层为主机之间提供逻辑通信,信道是不可靠的,它只“尽最大努力”交付,但数据报仍有可能发生:丢包,乱序,等等情况。传输层还要对收到的报文进行差错检测。(后面细讲)传输层的端口传输层需要在接收到数据包后正确地交付给上层应用,准确来讲就是交付给进程,我们知道,操作系统中的每个进
2021-11-11 22:35:23
10555
2
原创 【MyBatis】XML映射器
文章目录select①、查询单行②、查询语句包含多个参数③、参数传入map④、多行查询封装成map⑤、多行查询封装成list多条记录返回mapMyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。SQL映射文件只需要很少的几个顶级元素:cache – 该命名空间的缓存配置。c
2021-11-10 16:01:48
555
原创 力扣刷题手册2
文章目录1. Dota2参议院1. Dota2参议院力扣649.Dota参议院思路:就是一大帮不同阵营的人,按顺序投票,一轮一轮接下去,笑到最后的就是赢家。1、 必须保证他们每一轮的位置是相对固定的2、在各轮投票中,不断地淘汰对方阵营的人,淘汰地策略是什么呢? 先得到投票权的人,必定要淘汰离自己最近的敌方阵营的人,很容易想到这个贪心策略。3、 那如何在淘汰,投票后进入下一轮保持这个位置呢? 仔细想想,这个过程很像排队,一个人投完就得等下一轮,相当于又去到末尾。4、那类似排队模拟,必须是使用队列
2021-10-27 09:43:21
192
原创 C++类和内存管理【C++ primer 笔记】
文章目录程序构建badstring.hbadstring.cppmain.cpp编译和运行结果:程序说明结果分析程序构建设计一个badstring类,它将包含一个字符串指针和一个表示字符串长度的值。badstring.h#include <iostream>#ifndef BADSTRING_H_#define BADSTRING_H_class badstring{private: char *str; int len; static int num
2021-10-24 09:54:18
245
原创 【Mybatis报错】Error creating bean with name ‘sqlSessionFactory‘ defined in class path resource 报错
报错信息:org.springframework.context.support.AbstractApplicationContext refresh警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSe
2021-10-19 10:22:59
3862
原创 力扣 | 动态规划
力扣152. 乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积示例 :输入: [2,3,-2,4] 输出: 6解释: 子数组 [2,3] 有最大乘积 6。输入: [-2,0,-1] 输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。这道题如果按照 53. 最大子序和 来写的话,就会简单想到一个dp数组, 记录着以num[i]为结尾的最大乘积的数。但是如果这样做的话, 就是错误
2021-10-12 10:05:23
229
原创 linux源码分析--进程管理学习笔记
前言:最近在学eBPF追踪linux内核的进程/线程,首先要做的就是要先熟悉内核,才能知道要探测哪个函数这篇文章是博主学习多篇技术博客记录的笔记,在写的时候参考了很多文章,因为每篇文章都有各自重点,为了学习的连贯性,博主将它们整理在这里,并加上一些自己的理解,下面是本文参考的文章:task_struct 详解linux 内核源码 fork 解读linux源码分析 - 进程Linux下fork()、vfork()、clone()和exec()的区别linux设计与实现第三版-在线阅读内核创建进程
2021-07-11 23:21:24
1069
原创 Mit6.828|Lab1.1 搭建实验环境
前言6.828是mit(麻省理工)的操作系统课,一步一步教你搭建一个os,完成了程序员的愿望,博主今年大二,打算跟着这个神级os课程实现一个os,并且用博客记录下来。环境: win10 + ubuntu 20.4双系统,这个实验将全程在ubuntu下跑,因为博主装的本来就是双系统,和网上很多教程用虚拟机不同,可能会有差异。环境介绍这个实验要做的是:在虚拟机QEMU上写我们的操作系统,并用在qemu上用gdb调试我们的代码。 所以我们要准备的qemu和gcc+gdb,这个在官网上也有介绍,要自己读
2021-03-31 20:35:22
2864
1
原创 自制操作系统入门笔记
文章目录前言操作系统怎么做?搭建环境动手前言今年博主也开始学操作系统了,然鹅学校老师讲得偏理论和老旧,云里雾里的学习状态加上对操作系统的浓厚兴趣促使楼主决定从0开始做一个小操作系统,现在刚跳坑,希望把自己的过程记录下来,以后也有装逼的用武之地。、本文算是个小教程,但很多东西都是博主参考其他大神的文章和书籍,在这里会详细列出他们的来源。操作系统怎么做?首先先阅读闪客大神的文章:计算机开机过程,讲明白了计算机开机时究竟做了什么 我们知道了:按下计算机开关后,PC寄存器就被强制初始化为0x
2021-03-04 17:12:56
733
2
原创 设计模式学习笔记
备忘录模式备忘录模式能记录一个对象,当用户后悔时能撤销当前的操作,使数据恢复到它上一步的状态,在生活中有很多常见例子,如文本编辑器,游戏的存档。假设我们要实现一个编辑器,那应该怎样实现这个功能呢? 比较好的一个方式就是:程序在执行操作时先获得编辑器对象的状态快照并保存,后可以通过快照将对象恢复到之前的状态。那我们应该怎么创建这些状态快照呢?最粗暴的方法就是,遍历对象的所有变量并复制保存,但从外部访问要求对象的内容没有访问权限限制,这样就破坏了对象的封闭性。 并且,当对象内部增加成员时, 代码变得难以
2021-01-19 16:39:33
110
原创 计算机网络|再复习笔记
物理层物理层的任务是确定与传输媒体的接口有关的一些特性,如机械特性,电气特性,功能特性和过程特性来自信源的信号为基带信号,信号要在信道上传输就要经过调制,调制有基带调制和带通调制。 带通调制的方法有调幅,调频,调相。传输媒体可以分成两大类:导引型传输媒体(双绞线,同轴电缆或光纤)和非导引型传输媒体(无线或红外或大气激光)数据链路层使用集线器可以在物理层扩展以太网使用交换机在数据链路层上拓展以太网以太网使用的协议是CSMA/CD协议网络层物理地址.
2020-12-26 22:02:39
896
原创 计算机网络实验 |WireShark抓包分析
摘要: WireShark基本使用,TCP报文分析,Http报文分析,顺便复习下TCP/IP,HTTP的知识点。TCP协议TCP是一种面向连接的,可靠的基于字节流的传输层协议。它的报文格式为:(挺多字段的,挑重点的理解一下:)序列号(Sequence Number):长度为32 bits节。指定了当前数据分片中分配给第一字节数据的序列号。在TCP传输流中每一个字节为一个序号。如果TCP报文中flags标志位为SYN,该序列号表示初始化序列号(ISN),此时第一个数据应该是从序列号ISN.
2020-12-14 15:27:49
1325
原创 [Java实现]逆波兰式
前言:一个表达式有中缀表达式,前缀表达式,后缀表达式三种表示方法,如1+2*3-8/2=3,因为操作符以中缀形式处于操作数的中间叫做中缀表达式后缀表达式:运算符在操作数的后面。 上式的后缀表达式就是123*+82/-虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说中缀表达式是很复杂的,因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进行求值。对计算机来说,计算前缀或后缀表达式的值非常简单。中缀表达式转后缀要将一个中缀表达式转化成后缀表达式,需要用到栈这个数据结构
2020-12-02 22:26:47
410
原创 蓝桥杯填空笔记
网页保存不了源代码,在这里暂存一下文章目录201903-2 小中大201903-2 小中大 class Main { public static void main(String args[]) throws IOException { int n = Reader.nextInt() ; int first=0,last=0 ; int isOdd= n%2 ;// 为0:偶数 奇数:1 int s1=0,s2=0,t.
2020-12-01 16:46:34
621
1
原创 10/24 自动机FDA| 力扣刷题笔记
前言:最近在看师兄留下来的代码, 其中设计到状态机的问题,现在又来学自动机,暂时也不知道状态机和自动机的区别。 但觉得有点类似在刷csp第三题的时候(啊好难) 也有需要根据前面状态来决定当前步骤的,再不想写一长串if-else了,也是学自动机的动力(我要拿300分!)不过最近在学时序组合电路,发现思想也很重合,果然我们学习的东西都是相辅相成的吗hhh~自动机的原理还没弄懂,刷题直接感受吧这里不仅仅是自动机刷题的笔记,也涉及了我在刷题中为了避免写出一大堆if-else的思考。力扣393.UTF
2020-10-24 10:13:21
370
原创 传输层可靠传输rdt协议
文章目录rdt1.0rdt2.0rdt2.1rdt2.2rdt1.0信道完全可靠,不出错不丢包接收方和发送方速率匹配接收方不需要反馈信息给发送方,因为不会出现任何差错rdt2.0又称停等协议信道不完全可靠,可能出现比特差错,但不丢包所有分组都能按顺序被接收为了解决差错问题,引入ARQ(Automatic Repeat Request)自动重传协议。差错检测:接收方检测是否出现比特差错,需要分组增加检验和checkSum字段。接收方通过反馈ACK,或者NAK 给发送方知道分组是否
2020-10-11 22:30:31
1430
原创 力扣 | 二叉树刷题笔记
今天两道题是找二叉树的公共祖先,不同点是二叉树一棵是普通二叉树,另外一棵是搜索二叉树。先说搜索二叉树:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x的深度尽可能大(一个节点也可以是它自己的祖先)。”解题思路:搜索二叉树的的性质就是对于任意一个结点,它的左子树所有值都要比它小,右子树的所有结点值都要比它大。既然是二叉搜索树,那么root结点的值
2020-09-28 21:36:25
497
原创 【java】 202006-2 csp稀疏向量60分问题解决
文章目录题目描述java数据录入问题java整型数组能开多大ac代码题目描述这道题做的磕磕碰碰,好歹最后还是做出来了。java数据录入问题在网上查阅资料发现java的scanner类读数据是很慢的,刷OJ的最好使用BufferedReader示例:class Reader { static StringTokenizer token =new StringTokenizer(""); static BufferedReader reader =new Buffered
2020-08-28 17:22:11
932
原创 Scanner类nextInt(),nextLine()注意用法
nextInt() 根据分隔符(回车或空格)读取输入流的第一部分,并且只读取数字(非数值会抛出异常),不读取分隔符,读取完毕时游标留在本行nextLine() 此方法返回当前行的其余部分,不包括结尾处的行分隔符,并把游标移至下一行的行首。
2020-08-23 00:16:09
1735
原创 力扣 | 滑动窗口
滑动窗口多应用于在数组或字符串中寻找特定解决问题的区间其核心在于考虑如何表达窗口的扩大和缩小,以及结果集的更新。解题框架非常明显,难在细节和思路实现。
2020-08-17 15:58:17
1334
1
原创 Jquery安装过程和问题记录
安装jquery比较简单,在官网上把文件保存下来就好。安装打开右键选择另存为,保存到本地即可将这个文件复制到当前的项目中。接下来,在工程中引用进来:(这个路径在经过测试是对的,下面我会说到路径引用错误的情况。这个时候就可以用了。问题描述:在我测试jquery时,报错:’ $ ’ 未定义($是常用的jquery符号)于是进入调试 ,打开控制台发现有报错,无法加载jquery文件。在打开network查看文件 ,发现的确是加载错误了。在网上搜索到可能是路径问题,具体原因我
2020-08-05 11:13:42
351
原创 力扣刷题手册
前言: 随缘刷题,认真记录文章目录字符串相加K次操作转字符串找出数组游戏的赢家粉刷天花板整理字符串字符串相加8/3力扣415字符串相加.用字符串的方法来模拟加法过程,使用双指针从尾部开始遍历,逐个相加:需要解决的问题:进位。两数长短不一致。解决方案:进位问题: 用一个变量记录每次相加中有没有进位,如果进位了该位置1,将加到下一个两两相加的结果中。两数长度不一样: 有一个数已经到达数组头部时(已经加完了) 将其设为0,依然相加。class Solution { pub.
2020-08-03 16:06:22
1619
原创 循环队列的介绍
队列队列就是一个能够实现“先进先出”的存储结构。队列分为链式队列和静态队列;静态队列一般用数组来实现,但此时的队列必须是循环队列,否则会造成巨大的内存浪费;链式队列是用链表来实现队列循环队列牺牲一个元素空间的前提需要两个指针 :tail (队尾指针)和head(队头指针)队列初始化时,两个值都为0当队列不为空时,head指向队列第一个元素,tail指向队列最后一个元素的下一个位置,也就下一个元素入队时要放在rear的位置上,而tail“顺延”当tail == head 时,
2020-06-26 22:49:48
1094
原创 数据结构期末考试复习&知识点
排序折半插入排序算法相比较于直接插入排序算法,只是减少了关键字间的比较次数,而记录的移动次数没有进行优化,所以该算法的时间复杂度仍是 O(n2)。n 个记录的直接插入排序中,键值的最小比较次数是 n-1 (最好情况下,数组本身有序)使用起泡排序对序列进行升序排序,每执行一次交换操作将会减少 1 个逆序对,因此序列 5,4,3,2,1 需要执行的交换次数为( 10 )。(4+3+2+1)快速排序执行一遍之后,已经到位的元素个数是( 1个 )。快速排序每次选择一个基准值,将小
2020-06-15 19:38:31
10464
5
原创 【C语言】字符串库函数
strstr函数 实现/*strstr 用滚动比较的方法来实现 */#include <stdio.h>int main(){ char* mystrstr(const char* str1, const char* str2); char a[101], b[101]; scanf("%s%s", &a, &b); printf("%s", mystrstr(a, b)); }char* mystrstr(const char* str1, con
2020-06-06 09:03:15
272
原创 【力扣 129. 求根到叶子节点数字之和】 回溯/dfs 记录一些问题
前言: 这道题目不难, 这里不做解释了,只是记录做题中遇到的一个问题。思路还是深度遍历 : 碰到叶子节点就返回。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { .
2020-05-09 12:30:22
145
原创 【力扣 113. 路径总和 II】 dfs/回溯两种解法
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。
2020-05-07 20:24:09
281
原创 【java】数细胞
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。样例输入4 101 2 3 4 5 1 1 1 6 7 1 0 3 4 5 6 1 5 1 02 0 4 5 6 6 1 6 7 10 0 6 0 6 6 1 0 8 912345样例输出1使用dfs完成class cell...
2020-04-04 12:12:13
274
原创 深度优先搜索(dfs)栈实现-C语言版-
DFS : 栈实现(后进先出: 吃饱了吐的)操作方法: (来源网络)把起始点放入栈重复 一下步骤访问栈顶元素的点找出该该点没有被访问过的邻接点,将其压栈如果这个点没有尚未遍历的邻接点,将其弹出说明: 这个示例和上面的操作方法有点不一样 具体实现方式如下:先将初始访问点访问了, 再将他的邻接点全部压栈重复一下步骤:在栈不空的时候: 访问栈顶元素(pop)出来...
2020-03-28 13:01:42
3966
原创 【c语言】冒泡排序,选择排序法详解
最近学习JAVA , 想着用java实现这两个算法,一敲代码,就发现又忘记了一半, 还好还是一边分析一边回忆敲出来了。 我们这打代码的, 有点像练钢琴和功夫,一日不打就退步,学习初期最重要的还是练手感 。ps: 本人小白一个,如果哪里有不对请大佬们指出,欢迎各位指出我的不足之处。废话不多说,进入正题:冒泡算法核心思想: 让每一对相邻的邻居比较 ,发现前面的比后面的大的就交换两个的位置 。...
2020-02-29 15:03:24
671
原创 线索二叉树的实现_C
线索二叉树的背景在聊线索二叉树之前,先来看看单向链表:单向链表的每一个结点都有指向下一个结点的指针域,却没有指向上一个结点的指针,给使用带来不方便,为此双向链表应运而生 。在二叉树中想知道某个结点的前驱结点是谁的时候,就得重新遍历一遍, 浪费时间。所以,有人创建了一棵树,在进行第一遍某种遍历方式的时候,就”顺便“ 记录一下某些结点的前驱结点和后继结点 。我们知道二叉树有4种遍历, 前/...
2020-02-25 14:30:27
392
原创 【pta7-4 】是否同一棵二叉搜索树
前言: 最近在听浙大的算法与数据结构,跟着视频打了一个程序,放在这里记录一下 学习过程题目:给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组...
2020-02-07 18:01:47
3911
2
原创 【mdk报错】Error: L6218E: Undefined symbol XXXX (referred from main.o)
一种情况就是没有在用户文件夹中添加文件 (如LED.c)
2020-02-04 22:22:43
12778
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人