自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Redis】五种数据String,List,Hash,Set,Zset类型的缓存操作分享

将数据集合加以判断,是否存在数据,如果存在则创建以实体为泛型的数据集合,并遍历数据,使用JSONUtil.toBean()获取数据集合所需要的实体对象,并且封装到该数据集合中。如果数据不存在则查询数据库,将查询到的数据进行遍历,使用JSONUtil.toJsonStr()方法转换为String类型的json格式并封装进Lsit作为Redis的数据源缓存;将获取到的String类型的数据加以判断,如果存在数据则使用JSON.parseArray()转换成对应的集合数据,直接返回给前端处理;

2022-11-05 23:35:00 1341

原创 windows上打开redis服务闪退问题处理

也可以将这个命令新建一个txt文件,写入之后将后缀改为.bat,后续只需要点击运行即可。可以使用命令直接启动服务,先进入到redis的根目录下输入下一命令打开redis服务。

2024-03-21 23:01:00 550

原创 整合shoir

📍doGetAuthorizationInfo()方法:用于处理Shiro的授权,获取用户的角色和权限信息。shiroFilterFactoryBean():配置Shiro的过滤器工厂,用于设置过滤条件和跳转条件。securityManager():配置Shiro的安全管理器,主要是配置Realm的管理认证。myShiroRealm():将自定义的Realm加入容器中,用于Shiro的认证和授权。shiro-spring:提供Apache Shiro安全框架的Spring集成。

2024-03-06 22:07:11 594

原创 如何使用poi导出Excel文档

【代码】如何使用poi导出Excel文档。

2024-01-07 17:32:04 433

原创 NEO4J常用命令

match (n:student)-[r:关系名称] ->(m:student) where n.name = "小明" and m.name="小红“ delete r。match p = (:person {name:‘属性值’})-[r:'关系名称']->() return p。match (n:节点名称)where n.属性 = 属性值 return n。match (n:节点名称 {属性:属性值}) return n。4.根据对应的节点名称和关系名称查询这个关系网。2.根据条件查询对应的节点。

2023-12-05 23:15:02 212

原创 Linux常用命令

ps -ef | grep 进程名。touch 文本文件名称。rm -i 文本文件名称。mkdir 文件夹名称。rm -r 文件夹名称。4.删除文件文本命令。

2023-11-25 21:11:35 176

原创 method:com.alibaba.druid.pool.DruidAbstractDataSource.testConnectionInternal问题解决

你可以创建一个后台线程,定期检测连接的有效性,并在连接无效时将其废弃。不管你选择哪种方法,都需要确保在应用程序中实现合适的连接有效性检测,以确保连接池中的连接始终保持可靠和有效。,建议实施其他有效的连接有效性检测方法,例如设置合适的连接超时时间或使用合理的数据库查询来确认连接是否有效。这意味着即使数据库连接已经失效,连接池也不会立即知道,而继续使用失效的连接可能会导致异常或错误的数据库操作。:由于连接池不会自动检测连接的有效性,应用程序可能会在使用已失效连接时遇到数据库异常,例如连接超时或无效查询。

2023-07-23 18:58:49 678

原创 使用Nacos将单体服务注册成微服务的步骤以及相关问题解决

原因是不同的命令空间保存到的数据库是一样的,所以在第一次发布的时候会保存到nacos数据库,如何不改变文件内容,再次点击发布,nacos会检测是否发生改变,如果没有是不会再次发布的。点击最右侧的 + 号进行配置文件的创建,填入Data ID(建议按照一定规则命名Data ID,例如按照应用名称、模块名称、业务名称等维度进行命名);Group(填入对应的分租名称。3.1.发布之后无法找到数据源,可能是你的配置语法有问题,导致配置没有生效,有效办法将其他的和启动无关的配置删除,保留数据库配置逐一排除。

2023-07-22 15:46:27 1279

原创 解决ECharts关系点击图例节点偏移问题

因为ECharts会开启自动布局算法所以在点击图例之后又将对应的图例进行的算法布局,所以才会导致数据偏移。如果在没有设置x和y的坐标会出现这个问题。1.设置layout为none (禁止开启算法布局)2.添加x和y坐标(如下所示)

2023-07-16 02:49:29 1169

原创 Vue-如何设置提示和警告的弹出框

getCaGroupDetails函数会返回一个Promise对象,其回调函数会将response.data的值赋给caGroupForm.value,打开一个名为dialogParam的对话框,将其标题设置为"修改分类"。这段代码是一个函数,名为`handleDelete`,接受两个参数:`index`和`row`。如果分类下没有子分类,该函数会检查该分类是否已经分配了资源。总之,这段代码主要完成了分类数据的删除操作,需要依赖`ElMessageBox`组件和`deleteGroup`函数。

2023-06-24 01:05:19 4344

原创 Vue中如何实现调用一个方法之后延时调用另一个方法

函数之前和之后的代码都在合适的时机执行,避免出现异步操作的竞态条件和不确定性。在函数体内部,它首先创建一个 Promise 对象,并使用。函数延迟0.2秒后解析该 Promise,这样。更新表单数据,并根据异步操作的结果更新。函数执行时会先延迟0.2秒,然后调用。可以在延迟后执行下一步操作。关键字,可以确保在执行。函数中,会根据传入的。

2023-06-23 00:02:52 1444

原创 送给即将从事IT行业的毕业生一些话

首先,计算机专业是一个迅速发展和不断创新的领域。随着科技的进步,计算机技术在各个行业中扮演着越来越重要的角色。因此,对于计算机专业的学习需要有持续的兴趣和学习的态度。要时刻保持学习的状态。​​​​​​​其次,计算机专业还有很多的分支方向,如人工智能、网络安全、数据科学等等。在大学期间,你可以尝试多个领域的学习和实践,以便找到自己真正感兴趣和擅长的方向,然后,在学习计算机专业的过程中,不仅要注重理论知识的学习,还要注重实践能力的培养。计算机专业强调实际操作和解决实际问题的能力。

2023-06-18 16:15:56 214

原创 如何获得忠诚的铁粉

可以将平常在工作或者学习中遇到的问题记录下来,将解决思路进行复盘,这个对于自己也是有很大帮助,能锻炼自己的解决问题的能力和文字表达能力。避免冗长的句子和复杂的术语,使用易于理解的语言,使读者能够轻松理解和消化你的文章。选择与你专业领域相关且有热度的主题,这样可以吸引更多的读者,并增加赢得铁粉的机会。根据自己在工作和学习中遇到的一些问题,如何解决的,将它记录下来,也能帮助自己更好的复盘。以上都是我在工作和学习中遇到的问题,如何解决的,将他们清楚的记录下来,也就是进行完整的复盘的一个过程。

2023-06-18 14:03:33 628

原创 win10如何将应用程序安装为服务和删除服务

检查服务状态:执行完脚本后,可以打开服务管理器(services.msc)来查看新创建的服务。创建服务脚本:首先,您需要创建一个用于安装和管理服务的脚本文件。以管理员身份运行脚本:右键单击脚本文件,选择“以管理员身份运行”来运行脚本文件。打开一个文本编辑器,创建一个新的脚本文件,下面是我的nacos启动实例,复制粘贴到自己的文档中。二,删除服务(创建脚本进行删除以.bat文件命令。在脚本中,您需要根据您的应用程序进行适当的配置。保存脚本文件:将脚本文件保存为批处理文件()或PowerShell脚本文件(

2023-06-04 13:21:46 2178

原创 电脑有网但是浏览器无法访问网络(win10,win11),亲测有效!

1.打开控制面板-->网络和Internet-->网络和共享中心-->更改适配器设置-->点击属性-->选择Internet协议版本4(TCP/IPV4)-->选择使用下面的DNS服务器地址。当您执行网络重置时,Windows 10会清除当前的网络配置、代理设置、DNS缓存和其他网络相关的临时文件。点击连接-->局域网设置-->将代理服务器下的选项进行取消勾选(如果没有勾选则勾选)填写114.114.114.114/8.8.8.8。选择高级-->选择重置-->协议--重置。最后打开浏览器即可访问网页。

2023-05-28 23:34:52 3702

原创 如何在本地安装多个nodejs版本,方便前端开发

要在本地安装多个 Node.js 版本以便于前端开发,你可以使用工具如 nvm(Node Version Manager)或者 n(Node.js 版本管理器)来管理不同的 Node.js 版本。5.当然,你不知道版本号,你可以执行 如下命令, 可以展示出最新的一些nodejs版本号,你可以参考安装。通过使用这些工具,你可以方便地在本地安装和切换不同的 Node.js 版本,以适应不同的前端开发项目需求。这将显示可用的 Node.js 版本列表,然后你可以使用上下箭头键选择要使用的版本,按回车键确认选择。

2023-05-28 17:38:46 1955

原创 springBoot整合Shiro(详细教程分析)

🚩1.1 什么是ShiroShiro是一个开源的Java安全框架,它提供了身份认证、授权、加密和会话管理等功能,可以帮助我们快速地构建安全可靠的应用程序。🚩1.2 为什么要用Shiro在开发Web应用程序时,安全性是一个非常重要的问题。使用Shiro可以帮助我们快速地构建安全可靠的应用程序,而且Shiro的使用非常灵活,可以根据我们的需求进行定制。

2023-04-18 01:26:20 1904 1

原创 支付宝沙箱环境+SpringBoot+内网穿透整合开发

支付宝支付是一种常用的电子支付方式,可以方便快捷地完成交易。本文将介绍如何在Spring Boot应用程序中整合支付宝支付。

2023-04-09 22:53:13 2863 1

原创 多线程-模拟抢红包,抽奖池

在这个方法中,首先检查 "isOpen" 变量的状态,如果奖励箱尚未打开,则调用名为 "createList" 的方法,将奖励添加到 "list" 中,并将 "isOpen" 设置为 "true"。此外,还有一个名为 "isOpen" 的静态布尔类型变量,用于跟踪奖励箱是否已经被打开,创建一个"list" 的静态整数类型列表,存储了一些奖励数据。4.使用 "Random" 类生成一个随机整数,并从 "list" 中取出该索引处的整数,最后将该整数从 "list" 中删除,并将其作为结果返回。

2023-04-05 23:29:58 876

原创 Java常用的设计模式

接着定义了一个工厂类 ShapeFactory,其中定义了一个静态方法 createShape(String type),根据传入的参数 type 来创建相应的产品。上面这段代码实现了一个工厂模式,其中定义了一个产品接口 Shape,包含一个抽象方法 draw()。最后,在 Demo01 类的 main 方法中,调用 ShapeFactory 的 createShape 方法来创建 Circle 和 Rectangle 对象,并分别调用它们的 draw() 方法来输出相应的信息。首先,我们定义一个接口。

2023-04-05 00:19:19 344

原创 针对慢查询如何进行sql优化?

慢查询 SQL 是指执行时间超过一定阈值的 SQL 查询语句,一旦出现慢查询 SQL,会导致系统性能下降,甚至会造成系统崩溃。因此,对慢查询 SQL 进行优化是提高数据库性能的关键之一。下面是对慢查询 SQL 进行优化的一些步骤和方法。

2023-04-02 17:41:06 769

原创 AOP在Java应用程序中的六个常见场景

首先需要定义一个注解,用于标记哪些方法需要进行权限控制。例如,可以定义一个名为@RequiresPermissions的注解,用于标记需要进行权限控制的方法。定义一个自定义注解,用于标识需要进行全局异常处理的方法定义一个切面类,使用@Around注解拦截带有注解的方法,并进行异常处理@Aspect@Componenttry {// 调用被拦截的方法// 构造错误响应// 打印错误日志// 返回错误响应// 获取请求路径。

2023-04-01 14:29:43 2847

原创 ThreadLocal详解

也可能会导致内存泄漏问题,因为每个线程都会持有该变量的副本,如果副本没有及时清除,则可能会导致内存占用过高。是 Java 中的一个线程本地变量工具类,它可以用来在每个线程中存储特定的数据,而不需要担心线程安全问题。变量时,每个线程都会创建该变量的副本,并且每个线程都只能访问自己的副本,而不会干扰其他线程的副本。变量在多线程环境中非常有用,因为它可以避免多个线程之间共享数据时的竞态条件和锁等问题。变量,并且每个线程都对它进行写操作,则需要考虑同步问题。方法,以确保清除该变量在当前线程中的副本。

2023-03-28 21:22:49 373

转载 mysql主从复制和读写分离,看完这篇你就彻底懂了

MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。MySQL读写分离基本原理是让master数据库处理写操作,slave数据库处理读操作。master将写操作的变更同步到各个slave节点。

2023-03-28 14:57:45 221

原创 异步编程CompeletableFuture方法详解(应对各种场景)

CompeletableFuture是Java 8中用于异步编程的一个新特性,它可以帮助我们更方便地处理异步任务的结果,避免了传统的回调地狱的问题。

2023-03-26 18:16:00 603

原创 我为什么要写博客,写博客的意义是什么

有自己的文字总结可以帮助你学习和成长。通过分享你的知识和经验,你可以从读者的反馈中获得新的见解和想法,同时也可以发现自己的不足并不断改进。

2023-03-12 14:54:39 100

原创 基于Linux系统-搭建Java Web开发环境

1.执行以下命令,下载并安装MySQL官方的Yum Repository。4.执行以下命令,输入上条命令中MySQL初始密码,登录数据库。1.执行以下命令,下载Tomcat压缩包。5.执行以下命令,修改Tomcat默认端口号为80。2.执行以下命令,解压刚刚下载Tomcat包。2.执行以下命令,启动 MySQL 数据库。3.执行以下命令,查看MySQL初始密码。3.执行以下命令,修改Tomcat名字。4.执行以下命令,为Tomcat授权。3.执行以下命令,查看是否安装成功。7.输入exit退出数据库。

2023-03-05 20:01:11 578

原创 如何针对慢查询的sql进行优化?

在优化 SQL 时,可以使用 EXPLAIN 命令来查看查询计划,找到 SQL 查询性能瓶颈,进而进行针对性优化。优化 JOIN 操作:在使用 JOIN 操作时,确保连接条件是正确的,并尽可能使用 INNER JOIN 而不是 OUTER JOIN,因为 INNER JOIN 的性能通常更好。减少返回数据量:尽可能只返回需要的数据,可以通过使用 SELECT 子句来指定需要的列,并使用 LIMIT 限制返回的行数。使用索引:确保表中的列都有适当的索引,尤其是在查询中频繁使用的列。

2023-03-05 14:23:09 2748

原创 Linux指令——文件与权限

两个半角句号(..)表示上级目录,例如路径/usr/local/../src等同于/usr/src,其中local和src目录同级。cd命令的默认参数为~,符号~表示当前用户的家目录,即在root用户登录时,命令cd、cd ~和cd /root执行效果相同。命令描述:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。其中,u+x表示增加属主的执行权限,u表示属主,g表示属组,o表示其他,a表示所有用户。chmod命令用于修改文件权限mode,-R参数以递归方式对子目录和文件进行修改。

2023-03-05 01:18:51 396

原创 Linux指令入门-系统管理

kill可将指定的信息送至程序。第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。由于这些信息都是以日志文件的形式保存在系统中,黑客可以很容易地对内容进行篡改,所以该命令输出的信息并不能作为服务器是否被入侵的依据。第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

2023-03-02 23:52:46 94

原创 如何用java实现同时进行多个请求,可以将它们并行执行,从而减少总共的请求时间。

通过使用Java提供的线程池,可以将多个请求分配到不同的线程中并行执行。可以通过创建固定数量的线程池,然后将请求分配给线程池来实现。线程池会自动管理线程的数量和复用,从而减少了线程创建和销毁的开销,提高了程序的性能。Java 8提供了并行流的支持,可以方便地将操作并行化。使用并行流,可以将多个请求转换为流,然后使用parallel()方法将其并行化,从而并行执行多个请求。以上是几种常用的Java实现同时进行多个请求并行执行的方式,开发者可以根据具体的业务场景和需求选择适合自己的方式。

2023-02-25 20:15:50 6840

原创 SpringCloud第六讲 服务多级存储模型

注意配置集群名称之后,选择要启动的服务并且同时启动,将会划分进同一集群,配置yml文件实现服务的集群部署。打开nacos如图,则配置成功。

2023-02-22 22:38:31 60

原创 SpringCloud第五讲 Nacos注册中心-服务注册到Nacos

浏览器输入ip:端口/nacos/index.html。配置好之后启动项目,完成nacos的服务注册。在子模块引入依赖nacos客户端。1.本地启动nacos。具体请看官网版本说明。

2023-02-22 21:54:47 491

原创 如何用stream流进行数据过滤和绝对值排序

【代码】如何用stream流进行数据过滤和绝对值排序。

2023-02-17 13:51:02 948

原创 nacos registry, orderservice register failed...NacosRegistration{nacosDiscoveryProperties解决办法(依赖不一致)

原因是因为SpringBoot版本和Nacos版本不一致而导致冲突。

2023-02-14 23:33:02 6914

原创 SpringColud第四讲 Nacos的Windows安装方式和Linux的安装方式

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。选择对应的下载包后缀名.gz是Linux的安装包,后缀名.zip是windows的安装包。Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。选择1.4.x,因为2.x的还在测试状态。上传到Linux服务器的某个目录,例如。即可: 默认的账号和密码都是nacos。与windows中类似。然后重命名为java。

2023-02-14 22:34:42 550 1

原创 SpringCloud 第三讲 Ribbon负载均衡策略(相关配置)

代码方式:配置灵活,但修改时需要重新打包@Bean配置方式:直观,方便,无需重新打包发布,但是无法做全局配置userserver: #你的服务名称ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则为何要开启饥饿加载,因为在我们第一次加载时候,响应时间比较慢,原因是第一次加服务需要从服务注册列表中拉取服务实例,以及初始化相关的组件到Spring中。

2023-02-12 23:25:10 520

原创 SpringCloud第二讲 Ribbon负载均衡源码分析

这一讲我们将依据Eureka的负载均衡规则,Eureka的具体服务搭建以及服务注册和服务发现可以参考基于Eureka实现服务注册和服务发现_热爱Java的编程小白的博客-CSDN博客Eureka的服务搭建之后便可以在这上面进行服务注册,如果存在两个相同的服务名注册,此时服务请求这个相同名称的服务的时候,将会配合Ribbon进行负载均衡处理,换言之,会在注册的同名服务列表中拉取其中一个服务处理本次请求。因此本讲将详细介绍Ribbon的负载均衡策略源码。

2023-02-11 20:39:34 813

原创 idea如何将同一个项目启动两次(需要改变端口)

3.点击Environment下拉 选择VM options 填入-Dserver.port=8082。2.选择你要拷贝的项目右键选择Copy Configuration...1.选择底栏的services。

2023-02-10 23:22:04 1736

原创 基于Eureka实现服务注册和服务发现

服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态。eureka会更新记录服务列表信息,心跳不正常会被剔除。基于服务列表做负载均衡,选中一个微服务后发起远程调用。根据服务名称从EurekaServer拉取服务列表。服务消费者利用负载均衡算法,从服务列表中挑选一个。服务提供者启动时向eureka注册自己的信息。消费者根据服务名称eureka拉取提供者信息。每隔30秒向EurekaServer发送心跳。注册自己的信息到EurekaServer。消费者就可以拉取到最新的信息。

2023-02-09 23:36:16 239

空空如也

空空如也

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

TA关注的人

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