自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot集成redis报错:org.springframework.beans.factory.NoSuchBeanDefinitionException

SpringBoot集成redis报错Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘org.springframework.data.redis.core.RedisTemplate<java.lang.String, java.lang.String>’ available: expected at least 1 bean wh

2022-04-06 17:22:01 1252

原创 java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.csp.sentinel.dashboard

初学sentinel,用命令行运行后,访问localhsot:8080一直出现无法访问,打开命令窗口后,发现没有正常启动,在启动时报错,出现该异常java.lang.IllegalStateException: Cannot load configuration class: com.alibaba.csp.sentinel.dashboard.DashboardApplication。在解压jar包后发现,其需要特定的jdk版本才行。于是我们可以才cmd命令窗口指定jdk版本的bin路径,进行运行

2022-03-23 16:06:59 5977 7

原创 io流笔记

io流流的分类一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read) .从内存中出来,叫做输出(output)。或者叫做写(write).另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制这种流是万能的,什么类型的文件都可以读取。包括:文本文件,图片,声音文件,视假设文件file1 .txt,采用字节流的话是这祥读的:a中国bc张三fe第一次读:一个字节,

2021-10-24 23:12:13 151

原创 JUC并发编程

JUC并发编程

2021-10-23 22:04:15 101

原创 Juc并发编程

Juc并发编程线程和进程线程和进程进程:一个程序的集合一个进程往往可以包含多个线程,至少包含一个;线程:开了一个进程,之后多线程处理 public synchronized void start() { /** * This method is not invoked for the main method thread or "system" * group threads created/set up by the VM. Any

2021-10-23 22:01:00 202 1

原创 服务熔断和服务降级

服务熔断和服务降级服务熔断:是发生在服务端的,当某个服务超时或者异常时,就引起熔断,类似于现实生活中的保险丝;服务降级:是发生在客户端的,从整体网站请求负载考虑,当某个服务熔断或者关闭后,服务将不再调用这次我们使用Hystrix来实现服务熔断和服务降级。服务熔断实现步骤:导入相关的pom依赖在服务端导入依赖 <!--加入熔断hystrix的依赖--> <dependency> <groupId>org.spri

2021-09-18 20:06:28 2458

原创 ribbon中自定义负载均衡算法

ribbon中自定义负载均衡算法Spring Cloud也允许开发人员声明额外的配置(在RibbonClientConfiguration之上)-@RibbonClient来取得客户端的全部控制权。例如:@Configuration@RibbonClient(name = "foo", configuration = FooConfiguration.class)public class TestConfiguration {}本例中,客户端由已在RibbonClientConfigurati

2021-09-17 17:14:19 231

原创 SSM整合SpringSecurity

SSM整合SpringSecurity前言:介绍SpringSecurity,简单来说,你可以在这设置给需要保护的资源上一把锁,也可以给某些请求一把钥匙允许其访问。这里的锁指的是访问需要的权限或者角色。钥匙就是对应的权限或者角色。正如其官网图标。引入pom依赖 <!-- SpringSecurity 对 Web 应用进行权限管理 --> <dependency> <groupId>org.springframework.security

2021-09-12 21:36:09 1012

原创 初探SpringSecurity

初探SpringSecuritySpring Security是一个强大的、高度可定制的身份验证和访问控制框架。它是保护基于spring的应用程序的事实上的标准。并且和springboot高度集成快速开始导入依赖<!--thymeleaf与springsecurity5整和依赖--> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>th

2021-08-19 20:18:35 116

原创 用SpringBoot发送一封邮件

用SpringBoot发送一封邮件在强大的springboot中发送一封邮件是十分简单的。发送简单邮件导入pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>在application.properties配置文件

2021-08-19 19:25:08 249

原创 Shiro与SpringBoot整和

Shiro与SpringBoot整和什么是ShiroShiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。Shiro基本结构其三个核心组件:Subject, SecurityManager 和 RealmsSubject:即“当前操作用户”SecurityManager:它是Shiro框架的核心,负责管理所有用户的安全操作。典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。Realm:

2021-08-18 19:50:56 119

原创 2021-04-18

> 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。> 例如:5+3*(2-7)> 虽然人类可以很容易理解与分析中缀表达式,但对计算机来说中缀表达式却是很复杂的,但对计算机来说,计算前缀或后缀表达式的值非常简单。因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进行求值。

2021-04-19 12:49:15 359

原创 2021-04-18

链表反转链表反转可通过迭代和递归两种方法实现。迭代实现基本思想:把链表节点两两反转,直到下一个节点为空,最后让头节点指针域为空。下面是代码:ListNode* reverseList(ListNode* head) { if(!head||!head->next){ return head;//当节点为空时不用反转 } auto a=head; auto b=a->ne

2021-04-18 15:43:11 78

原创 2021-04-06

双链表的合并#include<stdio.h>#include<stdlib.h>//任务要求://1、用头插法创建双链表//2、有序合并双链表,并输出typedef struct NODE { int data; struct NODE* Pnext;}NODE,*PNODE;void init_list(PNODE &pHead,int n);//头插法建立链表void traver_list(PNODE pHead);PNODE merge_li

2021-04-06 16:32:47 79

原创 2021-03-01

二叉树的层次遍历其中心思想为:源码:#include<stdio.h>#include<malloc.h>typedef struct queue {//定义一个队列结构 struct tree* number[20]; int front; int rear;}Queue,*QUEUE;typedef struct BTree {//定义二叉树的结构 char data; struct Tree* pLchild; struct Tree* pRchi

2021-03-01 11:09:26 74

原创 2021-02-23——二叉树的遍历

二叉树的遍历创建二叉树(采用静态方法):PBTree creat_BTree() {//创建二叉树 PBTree pA = (PBTree)malloc(sizeof(BTree)); PBTree pB= (PBTree)malloc(sizeof(BTree)); PBTree pC = (PBTree)malloc(sizeof(BTree)); PBTree pD = (PBTree)malloc(sizeof(BTree)); PBTree pE = (PBTree)malloc(s

2021-02-23 15:30:31 107

原创 用纯c写贪吃蛇

用c语言写贪吃蛇对于初学c语言的同学来说,贪吃蛇绝对是假期练手的好项目之一。用代码写出贪吃蛇并不难,其基本思路可以分为初始化蛇、食物;打印蛇、食物;让蛇吃食物;最后判断蛇死亡。程序主要用到结构体、esayx图像库和一些基本的c语言语法。在正式写主要程序前,我们先完成一些准备工作——设置结构体。贪吃蛇其本身可以看成基于数组的填充方块,(用fillrectangle()函数实现填充)。其结构体主要有带有坐标的数组、方向、总长属性构成。食物具象话来说也只是一节填充方块,其结构体有标记、分数以及坐

2021-02-13 16:44:01 1288 1

原创 2021-01-21

队列分享下今天的学习成果,数据结构之队列。队列是一种可以实现“先进先出”的数据存储结构;常见的队列分类:链式队列——用链表来实现静态队列——用数组来实现(通常为循环队列)队列初始化:两个队列基本元素,font和rear的值都为0 队列非空时:font代表队列的第一个元素的下标;rear代表队列最后一个有效元素的下一个元素的下标队列为空时:font和rear值相等,但不一定为零常见伪算法:入队伪算法:第一步、将值存入rear代表的位置第二步、rear=(rear+1)%数组的

2021-01-21 17:22:15 185 1

原创 2021-01-19

栈程序演示初步学栈,发现栈与链表有许多相似之处,但栈的操作却不像链表那样灵活,在操作上受到了限制。栈遵循“先进后出”的原则。话不多说,直接上代码!请重点看每个栈功能的实现代码。#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct NODE//声明每一个节点的数据类型 { int date; struct NODE* pNext;}NODE, * PNODE;typede

2021-01-19 15:20:36 102

原创 随机数

随机数能够让程序中的代码灵活地动起来。游戏中,许多情况时随机发生的,特别是大部分图案程序,针对以上状况,我们需要引用随机函数。

2020-12-13 23:27:38 973

原创 2020-12-06

快排算法快排经常出现在各大公司的面试题,但他的难度对于即将进行工作面试的盆友们非常不友好,接下来本章将为大家详细介绍。算法基本思想第一步:选定一个pivot中心轴第二步:将大于pivot的数字放在中心轴的右边第三步:将小于pivot的数字放在中心轴的左边第四步:分别对左右子序列重复前三步操作例如下面的这个序列选取第一个数作为我们的pivot中心轴,选择数字4;设定两个下标,分别为L,R;L下标不停从左往右移动,一旦发现比pivot中心轴大的数字就把该数字放在序列的右边;R下标不停从右往

2020-12-06 17:57:21 87

原创 排序算法

**冒泡排序与选择排序**本文将具体介绍1.冒泡排序和选择排序的联系与不同;2.选择排序的优化算法;首先冒泡排序的逻辑是:首先将第一个和第二个记录的关键字比较大小,如果是逆序的可参考具体的流程图先上冒泡排序的代码图#include<stdio.h>int main(){ int i, j,temp; int a[10]; printf("请输入一个乱序数组:\n"); for (i = 0; i < 10; i++) { scanf_s("%d",&am

2020-12-01 08:34:10 104 2

原创 2020-11-20

小白看缓冲区顾名思义 其为计算机用来缓冲的区域,那为什么计算机要有缓冲区呢;他在最大的优点是可以为cpu腾出空间增加运算效率;例如你在欣赏影视作品时,你的播放器总是可以为你缓存进度条,这时你的电脑cpu就可以在你还没看完进度条的期间里做别的事情这样大大提升了电脑的运行速度。标题缓冲区在c语言的应用中是比较广的。如果你不慎用错的话将会带来意想不到的偏差。例如下面这个函数第一次你在scanf函数中输入man他直接结束了,并没有执行下一步。其实从计算机的视角看来他已经执行了所有的语句,在输入m

2020-11-20 17:12:17 113

原创 2020-11-13

我就来分享下一名小白的一次小的突破吧。这次的任务是用c语言打印一颗爱心。当我看到这次任务时,就开始回想所有学过的知识,发现用for语句是最容易解决的。于是我翻阅教材,回看b站视频又重温了一遍for语句。开始上机后,我发现仅用一两个for语句是远远不够的。于是我在度娘那发现了for语句的多层嵌套,此时问题也来了,如果使用了嵌套,那么知晓语句的执行顺序就显得尤为重要。经过我对比了大量for语句的嵌套后,我得出了一个重要规律:外层循环决定了行数,内层循环决定列数。并且每层嵌套都是互不干扰,层层递进的。...

2020-11-13 13:18:25 68

空空如也

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

TA关注的人

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