- 博客(38)
- 收藏
- 关注
原创 mysql占用内存过大问题排查
这个参数决定了 InnoDB 存储引擎缓冲池的大小,它会占用大量内存。#如果数据库中有非常大的表,可能会占用大量内存,过多或不合理的索引也可能导致内存占用增加。如果有长时间运行的复杂查询或者大量未优化的查询,可能会占用大量内存。通过以上步骤的排查,可以找出 MySQL 占用内存过高的原因,并采取相应的措施进行优化。
2026-02-15 08:49:48
468
原创 MySQL 数据库连接池爆满问题排查与解决
在实际的应用开发中,我们可能会遇到 MySQL 数据库连接池爆满的情况。这种情况会严重影响系统的性能,导致响应时间急剧增加。本文将详细介绍如何排查和解决 MySQL 数据库连接池爆满的问题。
2026-02-15 07:01:36
499
原创 Linux安装redis
上传刚才下载的文件,或者使用wget命令下载,因为没有找到3.0.504所以下载了3.0.5。有的人会连接不成功,是因为发防火墙没有放开端口,这里有两种方法,关闭防火墙或者开放端口。想要测试是不是成功设置开机自启了,就执行命令,重启机器,然后进行连接测试。因为我一直使用的是redis3.0.504版本的,这里我就下载这个版本。开放完端口后需要重启防火墙才能生效。代表Kill(Stop)的顺序。是注册开机启动的运行级别。如果想断开连接,使用。有多个方式,比如使用。主要修改下面几个配置。代表Start的顺序。
2026-02-15 05:17:23
268
原创 Java学习进阶知识篇
Java面向对象编程的进阶知识在面向对象的世界里,世界万物即对象。对象分为两种一是静态对象(即属性),二是动态对象(方法、行为),比如一只鸟,静态对象就是指鸟的翅膀、重量、羽毛颜色等等,动态对象就是指鸟的飞行、走路、觅食、叫声等等类是一类事物的一个统称,对象是类实例化之后的一类,而整个类就是所有对象的统称、人类可以实例化出一个男人、女人;鸟类可以实例化出一个大雁、燕子、信鸽;图形类可以实例化出三角形、平行四边形、五角形。一个类抽象出来一个实体,然后通过这个实体来解决实际的问题。封装。
2026-02-15 03:31:47
631
原创 Docker 之mysql从头开始——Docker下mysql安装、启动、配置、进入容器执行(查询)sql
1. 启动镜像,这里面最后的“:latest”是根据步骤一中“1”截图中的版本来的,可根据自己情况输入。启动容器的同时将/data/yueshen5/codeProgram/KG-2.2-C中的文件挂载到容器中的/data目录下。1. 在系统目录下创建并运行脚本文件mysqllatest.sh,输入命令sh mysqllatest.sh。mysql -u root -p密码 #mysql没有任何含义,这只是进入mysql的必须命令。use mysql;以下命令是没有挂载操作的命令,如需挂载如上述命令所示。
2026-02-15 01:46:43
371
原创 总结:Spring Boot 之spring.factories
Spring IOC会将所有的对象交由Spring管理,扫描对象是在Spring boot的路径下的所有配置类注解,需要管理的对象。但是:如果这些Bean路径不在Spring Boot的包扫描路径下,怎么办?这样不就实例化不了了吗?
2026-02-14 09:44:01
145
原创 在Spring Boot项目中引入本地JAR包的步骤和配置
通过本文的介绍,读者可以了解到如何在Spring Boot项目中引入本地JAR包并进行相应的配置。无论是使用Maven还是Gradle,本文提供的步骤和代码示例都可以帮助开发者顺利完成本地JAR包的引入和使用。本文将详细介绍如何在Spring Boot项目中引入本地JAR包的步骤和配置,并提供相应的代码示例。假设我们有一个名为my-library.jar的本地JAR包,并且它位于项目的根目录下的libs文件夹中。引入本地JAR包后,可以在Spring Boot项目中使用其中的类和方法。
2026-02-13 21:29:49
271
原创 使用IDEA环境编译Spring源码及spring源码调试环境搭建
spring项目在开发中使用gradle进行项目自动化构建,所以在导入spring工程项目之前需要先安装gradle工具。版本说明:
2026-02-12 02:14:11
619
原创 SpringCloud实战【九】 SpringCloud服务间调用
这也就是我们接下来要介绍的服务间调用的前提条件。上面的代码比较简单,就不详细的介绍了,主要是RestTemplate中提供了getForObject方法(实际上RestTemplate提供了很多种调用的方法,主要分为Get或者Post),可以指定要调用接口的地址,指定返回的值的类型。代码和第一次的代码基本一样,唯一的区别就是获取服务地址和端口的地方替换成了注册中心中的Application的名字,并且我们的RestTemplate在使用上和第一次没有任何区别,只是在url中不同。下面我们看一下返回的结果。
2026-02-12 01:27:59
266
原创 【springboot】健康检查 监控
要创建一个自定义健康指示器,你需要实现接口。这个接口包含一个health()方法,你需要在此方法中添加检查逻辑,并返回一个Health状态。添加依赖:确保你的项目中已经引入了Spring Boot Actuator依赖。实现接口:创建一个类实现接口,并实现health()方法。注册为Bean:将你的自定义健康指示器注册为Spring的Bean,这样Actuator就能自动识别并调用它。
2026-02-11 03:16:06
231
原创 【MySQL】RedHat8安装mysql9.1
安装包:mysql-enterprise-9.1.0_el8_x86_64_bundle.tar。日志中获取mysql初始密码,进入后修改密码。下载对应版本的jdbc。
2026-02-11 00:55:45
372
原创 Windows 11 如何配置node.js
安装后在node_global下的node_modules目录下有express即为安装成功。4.鼠标右键此电脑-属性-高级系统设置-环境变量,新建NODE_PATH变量,如下所示。下载最新LTS版本,比较稳定,如果想探索更新的版本去探索新的nodejs功能。1.配置全局包、全局日志,打开安装目录,在该目录下新建两个文件夹。7.如果npm安装一直转圈,或者失败可以查看当前使用的。1.下载完成后,双击运行程序,点击next。3.使用如下命令查看设置结果,如下所示。5.不勾选自动安装工具,直接next。
2026-02-10 03:21:27
382
原创 springboot中配置logback-spring.xml
该配置表明:配置日志根级别,也就是日志最低级别,如:debug<info<warn<error,日志级别越低,输出范围就广。比如:配置root级别level=“info”,那么info以上的日志都能输出,即info、warn和error都能打印输出。-该配置表明:可以指定包、类或者自定义名称,并配置级别,告诉日志此配置下的日志和级别输出到指定的位置,如代码所示。-该配置表明:希望日志通过什么样的方式输出,并且输出到何处(比如控制台、文件等)另外,可以对日志的样式进行设置,后续补充!
2026-02-09 22:21:34
95
原创 linux上redis升级
redis-cli -h 192.168.111.100 -p 6379 -a 123123 -n 数据库序号(0-15)#如果是4.* 的就要升级,因为redis6.2 以上需要gcc 9.*的版本,不然make 编译redis时会报错。这里你可以先下载到本地,在通过ftp 的方式上传到服务器,也可以直接 wget 下载。在启动新版的redis 时,可以将数据文件放到启动目录下。-n:指定数据库序号,默认是序号0,redis有16个库(0-15)-a:指定密码,未设置数据库密码可以省略-a选项。
2026-02-09 17:02:47
480
原创 Spring Data JDBC 详解
spring-data-jdbc的方便好用、可扩展性进一步显现出来了,如果想分页查询的话,Spring-data-jdbc提供了另外一个接口PagingAndSortingRepository,也可以使用@Query()注解支持原生的sql写入,参数使用过@Param()注入,接收的时候按照顺序接收,但要用 :id来标记接收对应的参数。简单总结就是: 没有拦截在和缓存,每次执行完的SQL得到的就是一个指定想要的完整实体,没有关联的查询或更新操作,没有session, 更简单、高效。
2026-02-08 05:26:56
650
原创 Nginx 请求超时
请求超时是指服务器在接收到客户端请求后,未能在规定的时间内完成该请求的处理,导致请求被中止或失败。客户端请求超时:客户端发起请求后等待响应的时间超过了 Nginx 配置的超时时间。Nginx 与后端服务的通信超时:当 Nginx 作为反向代理服务器时,它需要与后端应用服务器(如 PHP、Node.js、Tomcat 等)进行通信。如果后端响应迟缓或未及时响应,可能会导致请求超时。Nginx 自身处理请求的超时:当 Nginx 自身的处理时间过长,未能在指定的时间内完成请求时,也会发生超时。
2026-02-08 03:09:35
298
原创 ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇
shardingsphere 5.5.0移除了sm4算法,两种方式解决:1、使用官方shardingpshere plugin,找到相关组件依赖引用即可,2、自己添加sm4算法代码SPI实现。版本加密算法接口升级了,以下sm4的SPI代码不适用,后续推出适配版本)。增加spi扩展SM4算法代码/***/static {@Getter@Override。
2026-02-07 03:15:00
372
原创 Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
如下图所示:图2.2.6.1图2.2.6.1如下图所示:图3.2.1图3.2.1。
2026-02-07 01:22:56
385
原创 MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
mysql中内置函数date_add 和 date_sub能对指定的时间进行增加或减少一个指定的时间间隔,返回的是一个日期。
2026-02-06 02:46:54
254
原创 MySQL 批量插入详解:快速提升大数据导入效率的实战方法
批量插入是提高 MySQL 数据插入性能的重要手段。通过使用批量插入技术,可以显著减少 SQL 执行次数,提高数据导入的效率。本文通过一个学生信息表的实战示例,详细介绍了批量插入的实现方法,并提供了性能优化的建议。希望这篇文章对您在处理大规模数据时有所帮助。如果有更复杂的数据处理需求,您还可以考虑使用 MySQL 的LOAD DATA语句或专门的 ETL 工具来进行数据导入操作。
2026-02-06 01:37:51
251
原创 Java进阶09文件
*需要注意:**length()这个方法,只能返回文件的大小,如果是文件夹调用,不会报错,但是返回的是错误数据!File封装的对象仅仅是一个路径名,这个路径可以是存在的,也可以是不存在的。//2、根据传入的字符串(父级路径,子级路径) 封装File对象。**注意:**delete()方法只能删除空文件夹,且不走回收站。//3、根据传入(父级路径文件对象,子级路径)封装File对象。File类代表操作系统的文件对象**(文件、文件夹)**//1、根据传入的字符串路径,封装File对象。
2026-02-05 09:12:52
495
原创 eclipse配置Spring
下载支持windows的文件,若想下载其他类型,可以访问。2、添加commons-logging进入该项目路径。eclipse版本:2020-06 (4.16.0),等待一会儿会出现安装列表,我们选择带有。此时,Spring的配置已经完成了。注:jdk版本:JavaSE-1.8。选择对应的版本进入下载,此处选择。3、添加Spring组件进入路径。选择第一个下载包,等待下载。项目,右键选择项目,点击。③进入文件夹,选择下载好的。,解压进入文件目录,选择。3、Beans.xml代码。依然按照上述顺序,点击。
2026-02-05 01:54:21
363
原创 基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
云南,这个位于中国西南边陲的省份,以其独特的地理位置和丰富的民族文化而闻名。作为中国连接东南亚和南亚的重要门户,云南拥有长达四千多公里的边境线,与缅甸、老挝和越南三国接壤。这条边境线不仅是中国对外开放的前沿,也是维护国家安全和地区稳定的关键地带。随着全球化的深入发展和区域合作的不断加强,云南边境线的战略地位日益凸显。云南的边境线总长达到4060公里,是中国边境线最长的省份之一。这条边境线没有天然物理屏障,地势错综复杂、犬牙交错,有的是山高林密、荆棘丛生,沼泽密布、河水湍急。
2026-02-04 22:23:53
649
原创 从MySQL迁移到PostgreSQL的完整指南
从MySQL迁移到PostgreSQL是一个复杂但必要的过程,它能够为系统带来更高的性能、丰富的功能集和更强的扩展能力。整个迁移过程包括准备工作、迁移表结构、迁移数据、迁移存储过程和函数以及数据完整性验证。在每个步骤中都需要细致的规划和执行,以确保数据的一致性和完整性。在迁移过程中,需要仔细考虑停机时长、应用改造以及生产环境中的实际验证。停机时长的规划直接影响业务的连续性,建议在业务低峰期进行迁移,并使用增量备份和恢复的方法以缩短停机时间。
2026-02-04 21:16:00
718
原创 【Spring Boot】Spring AOP中的环绕通知
Aspect Oriented Programming(面向切面编程)AOP是Spring框架的第核(第核是IoC)AOP是一种思想,是对某一类事情的集中处理。其中在下面的学习中我们会学习到拦截器、统一异常处理,统一结果处理等,这些都是运用了AOP的统一思想来实现的。拦截器实现AOP思想作用的维度是前端对后端进行的一次请求和一次响应,主要是检索前端传来的URL,如果检索后返回True,则可以进入Controller开始执行代码,如果返回的为False,则表示失败,直接被拦截在外面,无法执行代码。
2026-02-03 03:43:59
389
原创 [已解决]ERROR 1290 (HY000) The MySQL server is running with the --skip-grant-tables 成功解决报错
报错说mysql服务器正在运行不能添加,但是关闭mysql服务器重新登录时会有这个报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket /var/lib/mysql/mysql.sock(此报错解决方法可参考这篇文章。)解决这个报错是要重启mysql服务,这样就会陷入死循环。这时再进行用户创建和数据库授权IP操作时就会正常进行了。退出mysql,重启mysql服务。这样就可以正常操作了。
2026-02-03 01:29:47
303
原创 Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
使用MockMvc可以做到controller层的测试。在初始化mockMvc的时候:(1)如果想测试单个controller(2)如果想测试所有controller。
2026-02-02 01:12:33
363
原创 Spring Boot应用关闭分析
本文挖掘了Spring Boot的关闭方式,并列举了关闭方式,从原理、源码的角度阐述了Spring Boot的关闭代码及扩展点。同时,额外说明了一些系统特性 和原理,比如,程序退出码和信号机制。
2026-02-01 02:03:11
302
原创 Redis队列和阻塞队列
普通的redis队列,为了实现业务,通常会使用while进行循环,这样的话没有消息时依旧会频繁的执行循环,造成cpu的空转,所以一般会在代码中增加sleep来解决该问题,但因此又会造成消息延迟问题。使用 BRPOP 这种阻塞式方式拉取消息时,还支持传入一个「超时时间」,如果设置为 0,则表示不设置超时,直到有新消息才返回,否则会在指定的超时时间后返回 NULL。redis队列提供了 “阻塞式” 拉取消息的命令:BRPOP / BLPOP,这里的 B 指的是阻塞(Block)。下面是某业务完整的消费者代码。
2026-02-01 00:43:14
266
原创 redis info 详解
info Commandstats模块,是Redis命令统计信息,包含各个命令的命令名、总次数、总耗时、平均耗时。info Stats模块,是Redis的基础统计信息,包含了:连接、命令、网络、过期、同步等很多统计信息。info CPU模块,包含了Redis进程和子进程对于CPU消耗的一些统计信息。info Persistence模块。info Keyspace模块。info Clients模块。info Server模块。info Memory模块。info Stats模块。info CPU模块。
2026-01-31 23:39:03
42
原创 Nodemailer使用教程:在Node.js中发送电子邮件
Nodemailer是Node.js平台上最流行的电子邮件发送库,它提供了一个简单而强大的解决方案,支持Unicode内容、HTML内容、附件、图片嵌入等功能。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 是一个在互联网上发送电子邮件的标准协议。
2026-01-31 22:03:58
669
原创 MySql 8.0安装教程(windows系统),全网最详细的教程
MySQL数据库服务是一个完全托管的数据库服务,是目前比较流行的开源数据库来部署云原生应用程序,不管在企业开发,个人开发,学校做项目都是必备的一款工具,并且MySQL是开源的,目前隶属于Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。接下来我将手把手教你安装MySql 8.0,末尾获取我下载好安装包。
2026-01-30 00:33:18
67
原创 Java进阶之路,Java程序员职业发展规划
今天不说行业发展以及Java在市场的占有率。仅仅聊聊身为Java程序员应该如何规划自己的职业发展路线。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2026-01-29 14:06:40
146
原创 go测试问题记录
时,这意味着 Go 测试框架没有实际运行测试,而是返回了之前测试运行的结果。Go 1.10 引入了测试结果缓存,目的是为了加快测试的速度。如果自上次成功测试以来源代码和测试代码都没有发生变化,并且测试所依赖的环境(如环境变量和文件)也没有变化,Go 测试框架就会使用缓存的结果。另外,请确保你的测试确实触发了一些代码的变动,因为如果测试无法检测到代码变动(包括测试中依赖的任何文件或环境变量的变动),它可能会直接使用缓存的结果。这将告诉 Go 测试框架忽略缓存,并重新运行指定的测试。当 Go 测试输出显示。
2026-01-28 22:48:50
204
原创 docker 安装 mysql
v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。-v /usr/local/mysql/data:/var/lib/mysql:映射数据目录,宿主机:容器。-v /usr/local/mysql/log:/var/log/mysql:映射日志目录,宿主机:容器。-v /usr/local/mysql/conf:/etc/mysql:映射配置目录,宿主机:容器。将代码粘贴到脚本文件。
2026-01-28 22:22:54
407
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅