- 博客(107)
- 资源 (2)
- 收藏
- 关注
原创 SpringBoot线程池的使用
通过合理配置和使用线程池,Spring Boot应用可以更好地处理并发任务,提高系统的性能和响应速度。配置线程池时,需要根据具体的业务场景选择合适的参数,如核心线程数、最大线程数、队列容量等。同时,还需要考虑任务的性质,选择合适的拒绝策略来处理超出线程池处理能力的任务。
2026-05-03 21:40:16
330
原创 Spring boot创建时常用的依赖
1.springboot项目的总(父)依赖大全<parent></parent>当我们使用 spring 或 spring-boot 开发项目时,需要引入很多依赖,包括 spring 本身的组件、各种 spring-boot-starter、以及其它第三方依赖(如:slf4j、redis)。依赖多了,版本的选择是个问题,就怕哪个版本选择的不对导致出现一些意想不到的 BUG。spring-boot-dependencies的作用主要是起到约束版本的作用,在这个包里面声明了各种版本号,供子项目去引用。
2026-05-03 20:06:37
336
原创 mysql之联合索引
联合索引的最左原则索引并非越多越好,过多的索引会增加数据的维护速度还有磁盘空间的浪费。当表的数据量很大的时候,可以考虑建立索引。表中经常查数据的字段,可以考虑建立索引。想要保证表中数据的唯一性,可以考虑建立唯一索引。想要保证俩张表中的数据的完整性跟准确性,可以考虑建立外键约束。经常对多列数据进行查询时,可以考虑建立联合索引。
2026-05-03 17:04:46
53
原创 java进阶训练营 极客,关于架构极客大学java进阶训练营
对于可变长数组(VLA)的问题:原来的C89规范中是不容许可变长数组呈现的,然而在C99规范中,退出了对VLA的反对[3],然而反对的编译器不多,而且因为栈溢出的平安问题,没有太多的人敢用这个可变长数组,所以在C11规范中又把它规定为可选实现的性能了[4]。与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。因为个别的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提醒,不是要求。阐明整型数组a,有10个元素。如果要用户输出的是一个数组,个别是用一个循环,然而在输出前也须要固定数组的大小。
2026-05-03 15:32:33
41
原创 SpringColoud GateWay 核心组件
当监听到路由定义变化事件时,触发路由刷新操作,更新网关的路由规则,重新加载并应用新的路由配置。的值以键值对的方式进行配置,这样在请求过来时会对属性值和正则进行匹配,匹配上才会走路由。都会对当前的客户端请求进行判断,是否满足当前的要求,如果满足则交给当前请求处理。当请求的时间在这个配置的时间之后,请求会被路由到指定的。创建一个全局过滤器类,这也是一个前置过滤器,实现。开头的长度为三位的字符串才会进行匹配和路由。这个配置,遵循契约大于配置的思想,它实际被。,证明路由需要匹配正则表达式才会进行路由。
2026-04-21 10:04:02
287
原创 Spring Boot的项目结构
合理的项目结构不仅能够提高代码的可读性和可维护性,还能够帮助团队成员更好地协作。特别是在大型项目中,良好的项目结构设计能够有效降低代码的耦合度,提高系统的可扩展性。此外,合适的测试结构和构建配置也是保证项目质量的重要因素。Spring Boot项目结构遵循Maven或Gradle的标准目录结构,同时融入了Spring Boot的特定约定。良好的项目结构不仅有助于代码组织,还能提高开发效率和项目可维护性。了解Spring Boot的项目结构对于开发高质量的应用至关重要。
2026-04-21 07:42:09
67
原创 Node.js(v16.13.2版本)安装及环境配置教程
按Ctrl+` 键打开终端输入:npm install --registry=https://registry.npmmirror.com。选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位(v16.13.2版本)二、解压文件到nodejs,并打开文件夹nodejs,复制解压文件目录路径。三、配置环境变量:桌面–》此电脑–》右键–》属性。五:打开Visual Studio Code。
2026-04-21 05:25:44
64
原创 MySQL--》如何通过选择合适的存储引擎提高查询效率?
存储引擎:就是存储数据、建立索引、更新/查询数据等技术的实现方式,存储引擎是基于表的而不是基于库的,所以存储引擎也可以被称为表类型,我们可以通过如下查询表的创建语句,可以看到当前创建的表的存储引擎是什么?我们可以通过 show engines;语句查询当前数据库支持的存储引擎有哪些,如下所示:create table 表名 (字段1 字段1类型...
2026-04-21 03:08:43
342
原创 GaussDB数据库中SQL诊断解析之配置SQL限流
GaussDB提供SQL限流功能,当存在异常SQL(如存在不优索引)、SQL并发量上升时,通过SQL限流功能控制异常SQL的访问量或者并发量,保障服务的可用性。在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。选择“SQL限流任务”或“自治限流任务”,单击“创建任务”,填写限流信息,具体参数填写请参考表1。在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。在“实例管理”页面,选择指定的实例,单击实例的名称,进入实例详情页面。
2026-04-21 00:51:56
370
原创 Tomcat10下载安装教程
在环境变量里找到系统变量,点击新建,输入变量名JAVA_HOME和变量值(即jdk的安装路径)后,再点击确定。点击右边的新建,输入%JAVA_HOME%in,再点击确定。(右键)此电脑→属性→高级系统设置→高级→环境变量。在系统变量里找到Path,点击编辑,出现下图。找到jdk的安装路径 ,并复制。
2026-04-19 19:04:14
224
原创 SpringBoot中使用TraceId进行日志追踪
用于标识某一次具体的请求ID。当用户的请求进入系统后,会在RPC调用网络的第一层生成一个全局唯一的traceId,并且会随着每一层的RPC调用,不断往后传递,这样的话通过traceId就可以把一次用户请求在系统中调用的路径串联起来。在分布式系统中,一个请求可能会涉及多个服务和组件的调用,而traceId可以帮助我们追踪和查看整个请求的流程和调用链。
2026-04-19 16:14:47
177
原创 Redis集群模式
redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。准备: 一主二从-----3台----开三个虚拟机–为了节省虚拟机,在一台主机开启三个redis服务。
2026-04-19 13:35:11
250
原创 Navicat for MySQL下载安装教程
Navicat for MySQL 是一套用于本地或远程 MySQL 和 MariaDB 数据库服务器管理和开发的数据库管理工具。它提供了一种强大的数据库管理界面,支持数据库对象的创建与维护,数据的导入与导出,以及数据同步等功能。
2026-04-19 10:48:14
265
原创 Linux(CentOS)安装 Nginx
CentOS版本:CentOS 7Nginx版本:1.24.0两种安装方式:一、通过 yum 安装,最简单,一键安装,全程无忧。二、通过编译源码包安装,需具备配置相关操作。最后附+:设置 Nginx 服务开机启动。
2026-04-19 02:17:31
231
原创 远程访问mysql数据库的正确打开方式
为了安全,mysql数据库默认只能本机登录,但是在有些时候,我们会有远程登录mysql数据库的需求,这时候应该怎么办呢?远程访问mysql数据,需要两个条件:首先需要mysql服务器将服务绑定到0.0.0.0ip地址,这样才能允许远程机器登录,否则从网络层面就是不允许远程访问的。其次需要在数据库里放开登录用户的远程访问权限,一般放开访问者的单个源ip地址,也可以全放开。当然全放开不如只放开单个ip安全。
2026-04-18 08:11:52
156
原创 在 Ubuntu 上安装 MySQL 的详细指南
在Ubuntu环境中安装以及 MySQL 开发包(包括头文件和动态库文件),并处理最新版本MySQL初始自动生成的用户名和密码,可以通过官方的APT包管理器轻松完成。以下是详细的步骤指南,包括从官方仓库和MySQL官方仓库安装的两种方法,并介绍如何处理自动生成的初始用户名和密码,以及如何修改root初始密码。
2026-04-18 05:48:53
165
原创 【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
是 Oracle 11g 中用于修改和删除表中数据的重要 SQL 语句。在操作时,需特别注意数据筛选条件的准确性,以避免意外更改或删除数据。是管理数据表中记录的核心操作,其灵活性和强大功能使其在日常开发中被广泛使用。但在操作时需特别小心,确保筛选条件准确并采取必要的备份与验证措施,以避免因误操作造成数据丢失或不一致。用于更新表中的现有数据,可以更新单行或多行记录,需结合。对关键表进行更新或删除前,建议备份数据,尤其在生产环境中。,将删除表中的所有记录,但表结构仍然保留。可返回更新或删除的行数据。
2026-04-18 03:24:20
223
原创 SQL Server Management Studio的使用
2.创建数据库:右键单击"数据库" --> 新建数据库:输入数据库名称,如Info,点击确定,如下图所示:可通过右键单击Info选择"属性"来修改数据库;(3).CHECK约束:限制表中列的值,确保数据的完整性和准确性。7.查询:右键单击数据库名Info,选择"新建查询",输入SQL语句,查询age>=20的所有内容,然后点击"执行",结果如下图所示。(2).删除列:单击表"dbo.student":右键单击要删除的列,然后选择"删除列",保存即可。(3).删除:选中要删除的行,右键单击:选择"删除"。
2026-04-18 01:01:49
216
原创 SpringBoot项目中读取resource目录下的文件(六种方法)
查找资源,所以如果不加“/”表示去根路径查找的话,是找不到的。源码里还是方法三、方法四,只不过做了一些封装,更方便开发。的getResource()是从。的getResource()是。查找的,所以不加“/”也可以。2)启动jar包指令。
2026-04-18 00:01:12
413
原创 Springboot中SLF4J详解
SLF4J为Spring Boot应用提供了一个灵活且强大的日志记录解决方案。通过简单的配置,开发者可以轻松地控制日志输出的级别和格式,同时保持代码的整洁和一致性。无论是开发阶段的调试还是生产环境的监控,SLF4J都是一个不可或缺的工具。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章SpringBoot——整合SLF4j进行日志记录SpringBoot默认日志框架(slf4j)的使用以及配置文件。
2026-04-17 23:29:54
334
原创 Spring Boot + Vue 全栈开发实战指南
随着互联网技术的发展,企业对于快速开发高质量Web应用的需求日益增长。Spring Boot以其轻量级、易配置、快速开发的特点,成为Java后端开发的首选框架。Vue.js以其响应式、组件化的特点,成为前端开发的热门选择。结合两者,我们可以构建出既高效又易维护的全栈应用。在这篇博客中,我们详细探讨了如何使用Spring Boot和Vue.js进行全栈开发项目。从后端的Spring Boot项目搭建、数据库集成、业务逻辑处理到前端的Vue.js项目初始化、组件开发、路由配置等方面都进行了深入的讲解。
2026-04-04 05:16:05
489
原创 MySQL压缩版安装详细图解
输入mysqld --console 把信息打印到控制台 然后寻找一下信息中有没有出现这几个错误,如果有就继续看下去。如果是不一样的错误的话我相信你已经有新的思路去找问题了。输入netstat -aon|findstr “3306” 去查找占用了3306端口的进程id然后打开任务管理器 到详细找到刚才看到的进程id 结束掉然后运行 net start mysql 就可以运行了。
2026-04-04 02:16:18
341
原创 springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38819)
刚解决Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38816)没几天,又来一个新的,真是哭笑不得啊。不过没关系,springboot官方又发布了新的版本3.3.5,将项目升级到该版本即可从springboot2.x升级到3.x请查看。
2026-04-02 07:17:09
210
原创 node.js卸载并重新安装(超详细图文步骤)
1、Node.js下载网址2、一路点击next3、安装到本地位置,按需求自行更换安装路径(建议不做修改默认C盘)4、不需要选择或更换,默认安装,直接next,它会自动添加系统变量。5、点击Install,进入如下图所示的Node.js install进度界面6、出现以下界面安装完成7、我们使用Windows+R快捷键,输入cmd进入命令行界面,验证安装是否成功:8、以上node的环境已经安装完成,npm包管理器也有了。
2026-04-02 04:00:37
79
原创 Linux系统安装部署Tomcat
9、停止/启动服务(最后将服务启动),如端口都启动,则Tomcat安装完成。6、选择Linux版本的安装包(xxx.tar.gz), 点击下载。7、将Tomcat的安装包上传至Linux系统的/opt下。4、点击自己需要下载的版本,我这里下载的是9.0.6。8、解压缩Tomcat源码并移动目录。3、选择需要下载的版本。
2026-04-02 00:43:22
87
原创 Gateway Timeout504 网关超时的完美解决方法
HTTP状态码504表示前端服务器已经收到了客户端的请求,并且知道应该由哪个后端服务器来处理该请求,但是后端服务器没有在预期的时间内完成处理并返回响应。请求跟踪- 在分布式系统中,使用像Zipkin或Jaeger这样的工具来追踪请求在整个服务链中的执行路径。后端服务器过载- 如果后端服务器正在处理大量的请求,可能会导致新的请求被延迟处理,从而引发504错误。检查服务器日志- 查看前端和后端服务器的日志文件,寻找可能的异常记录或错误消息。配置问题- 错误的服务器配置,比如超时设置不当,也可能导致504错误。
2026-04-01 22:56:14
261
原创 适用于IntelliJ IDEA 2024.1.2部署Tomcat的完整方法,以及笔者踩的坑,避免高血压,保姆级教程
之前我使用的是Tomcat 10,但遇到了许多问题。其中一个主要问题是需要使用高于1.8版本的JDK,为此我下载了新的JDK版本,但这又引发了更多的兼容性和配置问题。因此,我决定回退配置,目前使用的是IntelliJ IDEA 2024.1.2和Tomcat 8.5,并且配备了JDK 1.8。Tomcat默认使用8080端口,确认这个端口没有被占用。我发现这个端口被ApplicationWebServer.exe程序占用,经过查询发现这是NI软件的一部分,可能是Multisi没有完全卸载干净。
2026-04-01 20:48:58
243
原创 总结:Spring Boot 之spring.factories
Spring IOC会将所有的对象交由Spring管理,扫描对象是在Spring boot的路径下的所有配置类注解,需要管理的对象。但是:如果这些Bean路径不在Spring Boot的包扫描路径下,怎么办?这样不就实例化不了了吗?
2026-04-01 19:30:03
38
原创 关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
提示:啰嗦一嘴 ,数据库的任何操作和验证前,一定要记得先备份!!!不会有错;
2026-04-01 05:26:27
451
原创 WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程
Kettle简介 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定WebSpoon是Kettle的Web版本,由Kettle社区维护,不受Pentaho支持,实现了Kettle的大部分功能。
2026-04-01 02:21:32
262
原创 SpringBoot - Cookie & Session 用户登录及登录状态保持功能实现
定义Session (会话控制),Session 对象存储特定用户会话所需的属性及配置信息SessionID:客户端第一次请求服务器时,服务器为客户端算出的一个值,存储在 Cookie 中,用于定位用户 Session 在服务器中的位置与 Cookie 的区别:Cookie 可以通过伪造来实现登录并进行一些 HTTP 请求,从安全性上来讲,Session 比 Cookie 安全性稍微高一些功能:提高安全性有效期:一般为半小时,可以根据需求设定缺点。
2026-03-31 05:40:32
250
原创 Nginx环境安装
双击nginx目录下的nginx.exe应用程序,一般情况下,会有一个黑色的弹窗一闪而过,这就代表启动成功了。直接输入 nginx 或者 start nginx,然后回车,就可以启动nginx了。Nginx的配置文件是在conf目录下的nginx.conf文件。Nginx默认端口是80,可通过配置文件查看,(最好修改一下)#1查看Nginx安装路径whereis nginx。在nginx安装目录的绝对路径的框框内输入 cmd。关闭nginx的命令:nginx -s stop。# 启动Nginx服务。
2026-03-31 02:27:26
217
原创 MacOs安装Redis并设置为开机、后台启动
最近闲来无事,将自己的MBP系统重装里,导致里面原来安装的软件都需要重新安装,今天记录一下MacOs安装Redis并设置为开机启动、后台启动的步骤,安装过程略有波折,参考里几篇文章才搞定。
2026-03-30 11:39:36
411
原创 Java进阶-SpringCloud设计模式-工厂模式的设计与详解
工厂模式定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂模式主要有三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。
2026-03-30 10:52:32
185
原创 ERROR 1524 (HY000) Plugin ‘mysql_native_password‘ is not loaded
你遇到的错误是由于 MySQL 版本不再默认支持认证插件导致的。从 MySQL 8.0 开始,默认的认证插件是,而不是。
2026-03-30 10:05:39
131
原创 MySQL JSON数据类型全解析(JSON datatype and functions)
JSON(JavaScript Object Notation)是一种常见的信息交换格式,其简单易读且非常适合程序处理。MySQL从5.7版本开始支持JSON数据类型,本文对MySQL中JSON数据类型的使用进行一个总结。在MySQL中,JSON数据是以字符串形式表现的,但是它有自己的解析规则,利用某些途径可以将字符串转换为JSON类型数据,这个过程叫做规范化(normalization),在规范化过程中,MySQL会对数据格式进行验证,若字符串不是有效的JSON格式,那么就会报错。
2026-03-30 02:48:00
390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅