自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣.----前K个高频元素

请你返回其中出现频率前。

2024-05-19 21:33:51 203

原创 多线程讲解(详解)

说起多线程,那就不得不说什么是进程了,进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器因此一个进程当中就可能存在多个线程。多线程就是指一个进程中同时有多个执行路径(线程)正在执行。t1.start();t2.start();t3.start();创建一个类,实现Runnable这个接口重写run方法。

2024-05-19 21:31:03 985

原创 SpringBoot报错:No typehandler found for property xxxxx

JSONArray转换为实体类数组: List User= JSON.parseArray(jsonArray.toJSONString(), Employee.class);实体类数组转JSONArray: JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(User));以上配置好以后就差不多可以了,但是如果这个字段不是数据库中的字段,可以考虑在字段头上加上。

2024-05-17 15:23:38 199

原创 SpringBoot报空指针错:java.lang.NullPointerException

好了,以上纯属于我的个人吐槽,下面开始问题解决,其实原因就是因为控制器方法中的public写成了private,导致前端可以传进来值,控制器也可以正常接收,但是由于是private所以只能在当前类中进行访问,当然在其他类中就不能进行访问了,所以就报了空指针错误。但是奇怪的是我除了新增和修改接口其它的查询接口是可以正常访问的,整个项目从头查看了一遍都没问题,啊啊啊啊啊啊啊啊啊啊为什么为什么,像发疯!前端能成功传进来值,后台控制器中能成功进行接收,但是就是到不了我的实现类,为什么呢?啊啊啊啊啊啊啊啊,想发疯!

2024-05-13 17:42:21 243

原创 Lambda表达式&Stream流-函数式编程入门教程

Stream流不只是Lambda表达式厉害,它其中还包含了很多 Java 8 中集合数据处理的利器,很多本来复杂、需要写很多代码的方法,比如过滤、分组等操作,往往使用 Stream 就可以在一行代码搞定,当然也因为 Stream 都是链式操作,一行代码可能会调用好几个方法。它的作用是每次计算的时候都用到上一次的计算结果,比如求和操作,前两个数的和加上第三个数的和,再加上第四个数,一直加到最后一个数位置,最后返回结果,就是。得名,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数名的函数。

2024-05-11 17:39:47 829

原创 java.lang.IllegalStateException: stream has already been operated upon or closed

【代码】java.lang.IllegalStateException: stream has already been operated upon or closed。

2024-05-10 21:11:57 125

原创 springcloud报错:Failed to start bean‘webServerStartStop‘

那就说明的nacos没有打开,所以找到你的下载nacos的文件夹。好了,错误完美解决~

2024-05-05 19:26:13 244 1

原创 微服务---gateway网关

AuthorizaGatewayFilterFactory使我们自定义的一个过滤器,gateway的自定义过滤器名字是有一定要求的,即 “你想取的过滤器名字前缀+GatewayFilterFactory”,这里以我的为例,然后把前缀作为刚刚配置文件的配置进行配置然后我们实现这个自定义的过滤器@Component@Slf4j@Data/*** 需要放行的授权接口(nacos中的配置文件)*/@Autowired/*** 授权token*/

2024-05-05 02:00:00 1036 1

原创 微服务---feign调用服务

Feign是声明式Web Service客户端,它让微服务之间的调用变得更简单,类似controller调用service。SpringCloud集成了Ribbon和Eureka,可以使用Feigin提供负载均衡的http客户端只需要创建一个接口,然后添加注解即可使用Feign。

2024-05-05 01:30:00 929

原创 微服务----nacos配置及简单使用

Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。对于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供了 agent 上报模式和服务端主动检测2种健康检查模式。Nacos 还提供了统一的健康检查仪表盘,帮助您根据健康状态管理服务的可用性及流量。简单来说nacos就是注册服务用的。Nacos 架构nacos下载(详解版)

2024-05-04 20:23:06 1418

原创 SpringBoot自定义定时任务

Component@Autowired@Override()-> System.out.println("时间到了哦,当前时间为"+ LocalDateTime.now().toLocalTime()),// 设置定时任务执行周期,从数据库中获取// 返回执行周期这里我把需要从数据中查的cron表达式id写死了,读者可以根据自己的项目需求进行修改。

2024-05-04 19:21:43 883

原创 ThreadLocal存储用户登录信息

对于session中的用户信息,我们不仅想要在action中随用随取,还想在其它普通类中取,即使不依赖servlet api, 我们也要在方法里随用随取,我们在处理请求的时候,很多操作都要获取当前用户的ID等信息,由上可见,我们凡是在action的方法中任何一处想要获取session中的用户信息,则必须要先手动获取到HttpServletRequest,是不是比较麻烦。顾名思义,就是本地线程,可是这个名字实在容易让人误解,因为其实它是本地线程局部变量的意思,首先我们要知道,我们每个请求都会对应一个线程,

2024-04-27 20:17:53 928

原创 SaTokenException: 非Web上下文无法获取Request问题解决

最近在学定时任务,需要获取到当前用户信息然后再定时任务方法中取出当前用户信息,刚开始使用的是StpUtil.getTokenInfo()或者 StpUtil.getLoginId()这类方法,但是报错了,哈哈哈哈~当然,定时任务是不能提供参数的,所以就报错了 ,所以可以试试将信息存在redis里面或者使用spring本地缓存。其实看源代码就知道了,需要提供HttpRequest信息给它才能使用这些方法。我这儿就直接使用的全局变量,在登录类里面存储用户信息。虽然这样也可以,但是还是建议存在redis当中~

2024-04-27 20:04:28 406

原创 gateway报错: Spring MVC found on classpath,which is incompatible with Spring Cloud Gateway.

在学习gateway技术的时候报错,原因是因为 Spring Cloud Gateway 的项目中不能使用 Spring。也就是说,在 Spring Cloud Gateway 的项目中不能使用如下依赖。的依赖,而我不小心通过依赖其它模块而间接引用了该 Spring MVC 的依赖。很好,又解决一个问题~

2024-04-24 21:18:37 263

原创 springcloud+nacos项目报错:Load balancer does not contain an instance for the service userservice

如果你是跟着黑马学的,那你一定在nacos上配置了一个命名空间叫dev,然后你会发现后面学feign的时候userservice这个服务始终注册不上去,没错,就是因为这个命名空间的原因,所以你需要删除你的命名空间dev,将配置文件放到public当中就可以了,然后注意bootstrap中的namespace要删除。由于不同版本的解决问题的方案不同,所以这里先说一下我的版本信息。然后就可以运行项目了~

2024-04-24 21:12:11 375 1

原创 力扣--LCR 015.找到字符串中所有字母异位词

起始索引等于 0 的子串是 "cba", 它是 "abc" 的变位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的变位词。起始索引等于 0 的子串是 "ab", 它是 "ab" 的变位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的变位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的变位词。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指字母相同,但排列不同的字符串。

2024-04-23 20:50:39 159

原创 SpringCloud注册nacos错误:Could not resolvplaceholder ‘xxxxx‘ in value “xxxx“

1、版本问题,springcloud、springboot、springcloud-alibaba有着严格的版本对应关系,非常烦(如果你是看的黑马的,建议就跟他的版本一直就好了,因为到后面的版本会有一些出处,很容易出现版本问题)!3、如果以上情况都没有,那就去看看你的nacos的版本,如果你的项目版本信息跟我一样你就去下载一下nacos的版本,我项目出错的原因就是因为nacos版本我之前用的是2.2几的版本,导致就一直报这个错,害我看了快两天了,想哭~

2024-04-23 17:32:04 466 1

原创 力扣--N皇后

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。由于我设备的原因,暂时只能截图,等后面我再改吧。的棋盘上,并且使皇后彼此之间不能相互攻击。如上图所示,4 皇后问题存在两个不同的解法。该题为典型的回溯问题,下面我们直接来看代码吧。这里我把题目链接贴上供各位查看。的棋子放置方案,该方案中。每一种解法包含一个不同的。分别代表了皇后和空位。

2024-04-22 23:27:58 315

原创 No spring.config.import property has been defined

但是在SpringCloud 2020.* 版本把bootstrap禁用了,导致在读取文件的时候读取不到而报错,所以我们只要把bootstrap从新导入进来就会生效了。产生问题的原因是bootstrap.properties比application.properties的优先级要高。由于bootstrap.properties是系统级的资源配置文件,是用在程序引导执行时更加早期配置信息读取;而application.properties是用户级的资源配置文件,是用来后续的一些配置所需要的公共参数。

2024-04-22 19:35:11 233

转载 nacos开启鉴权功能

在之前的案例中部署好Nacos服务端后,默认没有开启鉴权,直接不用登录就能访问控制台,也能直接注册服务,存在很大的安全风险。之前也爆过Nacos权限认证绕过漏洞(NacosNacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现进行自定义插件开发。接下来我们使用Nacos。

2024-04-22 11:17:44 531

原创 使用QQ邮箱进行登录验证

以上代码均做有注释,各位可以看看,直接copy也可以,我获取的验证码信息是存在redis中的,所以记得要开redis。打开IMAP/SMTP服务,记得把授权码记录下来,后面配置文件中需要用到。接下来实现具体验证逻辑,我这里只做了简单的验证码认证。运行后就可以看到你的邮箱中有验证码信息啦~新建application的配置文件。使用场景不多说,接下来直接看实现~先创建一个随机生成验证码的方法。以上就是所有功能的实现啦~登录到QQ邮箱,进入设置。以下是redis的配置。

2024-04-21 20:33:59 468

原创 使用AOP切面做防止用户重复提交功能

关于如何做自定义注解,请看以下博客springboot做自定义校验注解这篇博客我们先跳过,直接来看实现// 缓存时间默认为10秒,请求完成自动清除,过期自动清除。

2024-04-21 20:14:20 403

原创 Nacos下载(详细版)

下载成功后进行解压,然后进入解压后的文件夹中找到conf,conf里面有nacos默认的端口号(8848),如果你的项目端口号和nacos冲突可以在这里进行修改。当然你也可以在命令行中输入一下命令进行启动 (要先进入到你的nacos路径下再运行以下命令)Nacos官网 | Nacos 官方社区 | Nacos 下载 | Nacos。然后我们进入到以下目录,双击红色框出的文件就可以启动nacos。选择你想要下载的版本,我这里下载的是2.2.3的版本。以上是所有的安装步骤,祝你一路畅通~

2024-04-21 17:22:17 620

原创 Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource

还有需要注意的是,根据官网引入springcloud的方式应该像以下方式进行引入。具体的pom文件内容为以下内容。

2024-04-21 16:51:16 247

原创 Could not read JSON: Could not resolve type id ‘xxxx‘ as a subtype of `java.lang.Object`

由于报错信息太长了,所以这里就不做过多的展示了,我的报错是在我使用sa-token进行登录验证的时候报错,原因是因为我修改了我数据库中表的名字,同时修改了项目中的对应的名字信息,所以导致redis中缓存对应不上,这个时候清除redis缓存信息就可以了,具体的清除缓存指令为以下(如果你的redis需要密码进行登录,请先执行以下指令)然后可用命令dbsize或key * 检查是否清理成功。

2024-04-18 20:05:30 305

原创 本地启用并操作Redis

本篇文章将向各位讲解redis的基础用法,废话不多说我们直接开始吧!如果你设置了密码以下操作提示你没有权限。所以需要输入密码或者修改密码。然后使用以下命令进行登录。然后就可以操作redis了。

2024-04-18 11:47:04 344

原创 力扣---LCR 095.最长公共子序列

是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。最长公共子序列是 "ace" ,它的长度为 3。最长公共子序列是 "abc" ,它的长度为 3。两个字符串没有公共子序列,返回 0。是这两个字符串所共同拥有的子序列。,返回这两个字符串的最长。

2024-04-17 14:50:03 280

原创 SpringBoot+Vue多模块项目宝塔部署(保姆级教程)

首先,你需要有一个属于自己的服务器,以及你需要在自己的服务器上安装宝塔,我这儿使用的阿里云服务器,本人还是学生,所以白嫖了3个月。

2024-04-16 21:38:00 1052

原创 至少需要[XXXXMB]内存才能安装(宝塔导入数据库提示)

然后双击打开这个文件进行编辑,编辑的行数大概在909-911,但是可能也不一定在这儿,然后注释掉下面图片中已经注释的代码。将数据库部署到宝塔上的时候提示-----》至少需要[XXXXMB]内存才能安装,解决的方法其实也很简单。/www/server/panel/class,找到找到panelplugin.py文件。②宝塔提示“至少需要[3700MB]内存才能安装”然后就可以重新安装mysql了。想安装mysql8.0。

2024-04-14 20:46:35 376

原创 导入数据库文件到宝塔提示导入成功但是没有任何表信息

本地数据库上传到宝塔,提示导入成功但是没有数据库的任何数据表信息,这个很可能是与你本地mysql服务器和你宝塔上的mysql版本不一致导致的,我的本地的数据库是8.0的,但是宝塔上面是5.7的,所以肯定就导入不进去。然后你就可以去软件商店下载新的mysql,选择你想要的版本就可以了。解决办法其实也很简单,先把你当下的数据库先进行备份。然后停用掉你现在的数据库并删除它。

2024-04-14 20:40:47 195

原创 java实现数据库生成随机id(按照自己的格式)

一般的生成随机id的方式可以是通过数据库自动增长,也可以是使用random函数进行随机id生成,同时也可以使用雪花算法生成随机递增的id,接下来我们就来看看具体怎么用吧~数据库生成随机id其实还是挺简单的,所以这里就不做介绍了,这里来看另外两种实现方式。

2024-04-07 16:30:15 171

原创 力扣 --组合

【代码】力扣 --组合。

2024-04-07 15:49:15 176

原创 力扣 ---组合总和

中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是不同的。中所有可以使数字和为目标数。对于给定的输入,保证和为。

2024-04-07 15:44:37 255

原创 在实体类中使用JSONObject对象

当然你也可以和我一样使用String类型,但是如果你要使用 JSONObject需要在实体类上的@TableName注解中添加autoResultMap = true属性,表示可以使用JSONObject对象来接收查询结果,然后接下来你在使用这个对象就可以正常使用啦!有时候我们的业务需求可能字段是json格式,这个时候我们的实体类就对应的也应该是json格式,需要使用到JSONObject这个对象,但是可能会使用不了这个对象,那接下来我将简单介绍如何使用这个对象。

2024-04-06 14:43:14 480

原创 java实现运行脚本文件

如果读者跟我一样是将脚本文件先上传到oss上面,请注意一定要将这个文件下载到本地后使用本地的路径再执行这个代码,因为就跟我图片里面提示说的,ProcessBuilder这行代码会自动给你的文件路径加上项目路径,以至于找不到脚本文件的路径,导致错误。需要注意的为以上图片标出,ScriptsInfo为我自定义的实体类,包括了脚本的一些基本信息,就包括脚本的名字,输入参数,路径等等,读者可以根据自己的程序自定义这个实体类。所以需要进行转换为字符串才行,以上是我的所有代码,读者可以根据自己的需求进行修改~

2024-04-06 14:34:06 502

原创 力扣--101.分割等和子集

题目说是否存在两个子集使得这两个子集和相等,既然这样我们就定义一个sums,把所有的值加起来然后除2,如果是奇数,那肯定是不行的,然后后面的代码都有注释,不懂的再评论区留言吧~,请判断能否将这些数字分成元素和相等的两部分。可以分割成 [1, 5, 5] 和 [11]。给定一个非空的正整数数组。不可以分为和相等的两部分。

2024-03-31 17:07:38 239

原创 力扣--53.最大子数组和

请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。如果使用两个for循环的话会超时,所以这里用mini来记录前面最小的前缀和。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。

2024-03-31 06:00:00 129

原创 我的创作纪念日

刚开始写文章是因为想着通过这样的平台把自己所学的知识记录在这上面,也方便自己忘记的时候可以去查阅,同时也能和大家分享我自己踩过的一些坑以及一些经验分享。因为我平时都比较忙,所以很少记录自己的最近的收获,可能也只有周末的时候多些几篇文章来想大家分享我的经验和结果 。当然我发布的每片博文依旧存在不足和欠缺,我也很珍惜你们给我的留言以及反馈,希望能通过你们的建议,我能创作出更好的作品。 经过了这么久的积攒,我写了差不多有将近50篇博文,收获了有200多位粉丝朋友,我很感谢有你们的关注和支持才让我有

2024-03-30 14:24:32 282

原创 sort函数对vector一维或者二维数组排序

/ 对二维数组按照纵坐标进行升序排列});return 0;

2024-03-30 14:04:46 768

原创 力扣--931.下降路径最小和

可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列(即位于正下方或者沿对角线向左或者向右的第一个元素)。这题需要使用动态规划的知识点,接下来具体看代码吧!如图所示,为和最小的两条下降路径。如图所示,为和最小的下降路径。,请你找出并返回通过。

2024-03-27 11:42:47 280

空空如也

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

TA关注的人

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