- 博客(20)
- 收藏
- 关注
原创 Jwt验证
json web token 其实就是一个字符串 string令牌1、标头(Header) 令牌类型(即jwt) + 使用的签名算法最后通过Base64编码加密组成字符串变成JWT的一部分。2、有效载荷(Payload) 令牌的第二部分,有效负载,包含有关实体和其他数据的声明,除敏感信息,同样使用Base64组码加密组成JWT第二部 分3、签名(Signature) Signature需要使用编码后的header和payload以及我们提供的密钥,再使用header指定的算法(HS256)进行
2022-07-10 17:08:28 1934 1
原创 缓存击穿、缓存穿透、缓存雪崩现象及其解决办法
缓存击穿、穿透、雪崩缓存击穿:当缓存中没有key、数据库中有数据。某一个key失效(通常是热点数据)导致高并发的情况下,请求直 接在DB 上导致数据库崩掉。 [若大量的key同时失效则导致缓存雪崩]解决办法 :在第一个查询数据的请求上用一个互斥锁来锁住它。其他线程走到这一步拿不到锁就等着,等第一个线程查询到了数据做了缓存。后面的线程就直接走缓存即可。缓存穿透:当缓存中没有数据,数据库也没有数据。大量不存在的i在这里插入图片描述d查询数据,会产生大量的请求到数据库查询不存在的数据,导致
2022-05-14 17:01:56 265
原创 Spring+Springmvc+Mybatis知识点合集
1、Spring的两大特性及其含义IOC:即控制反转,另外一种说法叫DI(依赖注入),就是创建对象的控制权被反转到了Spring框架上,我们需要某个对象的时候,不需要我们自己去new出来,而是直接从Spring容器里面获取。IOC和DI就是从不同的角度上描述了同一件事情,依赖注入是从应用程序的角度描述,即应用程序依赖IOC容器创建并且注入它想要的资源。而控制反转是从IOC 容器的角度描述,即IOC容器控制应用程序,由IoC容器反向的向应用程序注入应用程序所要的外部资源。AOP:面向切面编程,主张将程序
2022-05-08 15:48:36 1408
原创 Springmvc文件上传(图片)
srpingmvc文件上传(图片)最近在做javaee实验,前面的架构都已经搭建完成了结尾老师,说另加个功能给每一个实例加一个封面图,并且支持修改与上传及显示。所以学习一下关于springmvc的文件上传的知识。上传文件是由form表单标签中的,file类型的input标签提供的 <div> <form action="/fileupload" method="post" enctype="multipart/form-data">
2022-04-29 15:53:00 127
原创 Leetcode训练计划(六) --1091.矩阵的最短路径
1091. 二进制矩阵中的最短路径给你一个 n x n 的二进制矩阵 grid 中,返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径,返回 -1 。二进制矩阵中的 畅通路径 是一条从 左上角 单元格(即,(0, 0))到 右下角 单元格(即,(n - 1, n - 1))的路径,该路径同时满足下述要求:路径途经的所有单元格都的值都是 0 。路径中所有相邻的单元格应当在 8 个方向之一 上连通(即,相邻两单元之间彼此不同且共享一条边或者一个角)。畅通路径的长度 是该路径途经的单元格总数。示例
2022-03-30 20:37:17 1083
原创 DFS和BFS应用场景(什么时候用)
在做图搜索时什么时候用BFS,什么时候用DFS1、如果知识要找到某个结果是否存在,那么DFS会更高效。因为DFS会首先的吧一种可能搜索到底,才会回溯去搜索下一种情况,只要找到一种情况满足则可以返回了。但是BFS必须所有可能的情况同时尝试,再找到一种满足条件的结果的同时,也尝试了很多不必要的路径。2、如果是要找到所有可能结果中最短或者最优的,那么BFS会更加高效,因为BFS是一种一种的尝试,在把所有可能情况尝试完之前,无法确定那个是最短的,所以DFS必须把所有情况都找一遍,才能确定最终答案(DFS的优化就
2022-03-30 17:09:09 2437
原创 Leetcode训练计划(五)--547省份的数量
547.省份的数量难度:中等题目描述:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。
2022-03-26 16:20:39 102
原创 快速构建第一个Springboot项目(图文教程)
第一个Springboot程序Spring Boot为Java开发人员提供了一个很好的平台,可以开发一个可以运行的独立和生产级Spring应用程序。可以开始使用最少的配置,而无需进行整个Spring配置设置。相对于Springmvc节省了大量的繁缛的配置文件,大大加快了开发的速度,简直就是Spring系列的再春天。下面就是光速搭建一个项目,这里使用官方推荐的IDEA。1、new project -->选择Spring Initializr -->勾选默认Default(这个集成了官网默
2022-03-24 18:20:55 957
原创 Leetcode训练计划(四)--11.盛最多水的容器
11. 盛最多水的容器给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入
2022-03-22 17:23:04 86
原创 Leetcode训练计划(三)--15.三数之和
解题思路:本题总体思路不难,先对数组进行排序,确保遍历过程中不会出现重复值,完成第一步去重然后把三数之和理解简化为两数之和,先确定第一个数,再用双指针去寻找两数之和等于确定的第一个数 。总体思路不难就是两数之和的进阶版,就是修枝比较麻烦 细节去重要处理到位。三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums
2022-03-20 17:55:44 639
原创 大数据基础(林子雨版)
第一章 大数据概述第二章 大数据处理框架 hadoop第三章 分布式系统HDFS第四章 分布式数据库HBase第七章 Mapreduce第八章 Hadoop 2.0
2022-03-19 11:24:48 1938
原创 Leetcode训练计划(二)--542 01矩阵
做了两天总算把这题磨过去了,总的还是关于对BFS类的题做少了,对BFS的思想很熟悉但是还是无法下手,今天重新来温故一下这道题。542. 01 矩阵给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。两个相邻元素间的距离为 1 。示例 1:![在这里插入图片描述](https://img-blog.csdnimg.cn/ba8e53a9274b46138e715001d80c4691.pn.
2022-03-18 17:32:58 840
原创 Leetcode训练计划(一)--695 岛屿的最大面积
今天刷了四道题目,对动态规划和递归回溯有了新的感悟,由于之前接触的题量较少,遇到新题型的时候往往都没有思路,后来慢慢看了老师讲解开始对动态规划有了启蒙。持之以恒,为了年薪30w而奋斗。leetcode-695.岛屿的最大面积 题如下:给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(.
2022-03-18 17:24:30 411
原创 正则表达式的常用操作符
近日学习正则的小笔记. #b表示任何单个字符[] #字符集,对单个字符给出取值范围 示例:[abc]表示a,b,c, [a-z]表示a-z单个字符[^] #非字符集,对单个字符给出排除范围示例【^abc】表示非a或b或c的单个字符* #前一个字符的0次或者无限次扩展 示例abc*表示ab、abc、abcc、abccc等+ #前一个字符的1次或者无限次扩展示例:abc+表示abc、abcc、abcccc等? #表示前一个
2021-09-13 15:51:58 221 1
原创 爬取高清图片(记录第一次学习爬虫)
爬取高清图片(记录第一次学习爬虫)python自学过之后许久没有碰过,于是想起学习爬虫顺便复习python。代码如下:import requestsfrom bs4 import BeautifulSoup#请求网页,得到html的文档def gethtml(url,header): r=requests.get(url,headers=header) print(r.status_code) return r.text#解析网页得到图片的url链接def ge
2021-09-13 15:02:32 122
原创 中缀表达式转后缀表达式
中缀表达式转后缀表达式输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。为简单起见,假设输入的中缀表达式由+(加)、-(减)、×(乘)、/(除)四个运算符号以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。假设输入的中缀表达式长度不超过300个字符,且都是正确的,即没有语法错误,并且凡出现括号其内部一定有表达式,即内部至少有一个运算符号。中缀表达式转后缀表达式的方法:1.遇到操作数:直接输出(添加到后缀表达式中)2.栈为
2020-06-24 22:45:43 740
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人