- 博客(35)
- 收藏
- 关注
原创 redis exporter手册
svn:https://30.31.8.200/svn/版本/operator/prometheus/prometheus 安装包-20211122/redis_exporter-v1.3.5.linux-amd64 (1).tar.gz。./redis_exporter -redis.addr ip:端口 -redis.password redis密码 (-web.listen-address IP:指定的redisexporter端口) &http://IP:指定的redisexporter端口/
2026-04-04 04:28:13
204
原创 MySQL 数据库连接池爆满问题排查与解决
在实际的应用开发中,我们可能会遇到 MySQL 数据库连接池爆满的情况。这种情况会严重影响系统的性能,导致响应时间急剧增加。本文将详细介绍如何排查和解决 MySQL 数据库连接池爆满的问题。
2026-04-04 01:27:58
338
原创 SQL 注入漏洞原理以及修复方法
具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。注:把magic_quotes_gpc选项打开,在这种情况下所有的客户端GET和POST的数据都会自动进行addslashes处理,所以此时对字符串值的SQL注入是不可行的,但要防止对数字值的SQL注入,如用intval()等函数进行处理。使用参数化SQL语句,同时也能提高查询的效率。
2026-04-02 09:42:58
236
原创 Spring Boot集成Kafka:最佳实践与详细指南
本文详细介绍了如何在Spring Boot项目中集成Kafka,并通过最佳实践和代码示例来指导你。通过合理配置Kafka、使用KafkaTemplate发送消息、使用@KafkaListener接收消息以及处理错误和监控,你可以轻松地构建高效、可靠的消息处理系统。希望本文对你有所帮助!
2026-04-02 06:27:32
425
原创 NapCatQQ+Springboot基于onebot协议实现qq机器人
由此可以看出 NapCat 是类似于中间件的东西,也可称之为框架,这里我们就称之为qq机器人框架,本文章中介绍的都是集成版,无需手动安装QQ。
2026-04-02 03:11:15
380
原创 【MySQL】数据类型与表约束
default和not null不冲突,而是相互补充的,not null是当用户想插入的时候,约束的是,要么是NULL,要么是合法数据。表的约束,表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的,约束本质是通过技术手段,倒逼程序员,插入正确的数据。反过来,站在MySQL的角度,凡是插入进来的数据,都是符合数据约束的!auto_increment:对应的字段,不给值,会自动被系统更新,系统从当前字段中已有的最大值+1,得到一个新的不同的值,通常和主键搭配使用,作为逻辑主键。
2026-04-01 03:20:30
152
原创 SpringBoot的@Scheduled和@Schedules有什么区别
对于更复杂的需求,比如调整线程池大小或者设置线程名称前缀等,你可以通过自定义来进行配置。Spring提供了几种内置的调度器实现,如和。@Override@Override@Override// 自定义异常处理逻辑。
2026-04-01 00:13:04
303
原创 RabbitMQ高级特性----生产者确认机制
题记:在Java微服务开发中,对于一个功能需要调用另一个服务下的功能才能实现的情况,我们通常会使用异步调用取代同步调用,进而实现增强业务的可拓展性和实现故障隔离以及流量削峰填谷的目的。而消息队列就是异步调用的解决方案之一。不过在使用消息队列实现异步调用的时候,可能会出现消息无法传递到位进而导致业务信息出现差异的情况,因此消息的传递的可靠性就显得尤为重要。
2026-03-31 03:26:26
330
原创 MySQL 启动失败 (code=exited, status=1FAILURE) 异常解决方案
在日常运维和开发过程中,MySQL数据库的稳定运行至关重要。然而,MySQL有时会因为配置文件错误或环境问题而启动失败。本文将以 MySQL 启动失败的案例为例,详细介绍如何通过查看日志文件,定位问题并解决 MySQL 启动异常。通过上述步骤,我们成功解决了 MySQL 启动失败的问题。首先,查看 MySQL 的错误日志文件,找到具体的错误信息。通过错误提示,确定配置文件中的问题所在。修改或注释掉错误的配置项,确保 MySQL 能够正常启动。重启 MySQL 服务,验证问题是否解决。
2026-03-31 00:13:53
299
原创 CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现
注意在创建的时候有些镜像无法拉取到,可以在Dockerfile文件中修改配置使用其他的镜像。: 通过创建符号链接,攻击者可以尝试构造一个路径遍历的恶意 URL。该漏洞利用了路径遍历问题,使攻击者能够访问系统中本不应暴露的文件(如。攻击者能够进一步利用该信息来获取其他敏感数据或执行任意代码。这段代码创建了一个静态文件资源的路由。目录“跳出”并访问系统的其他目录(如。来尝试获取指向其他系统路径的文件。拿到环境的源码使用docker搭建。文件的内容,证明存在该漏洞。),从而获取系统敏感信息。
2026-03-30 00:23:38
23
原创 准确-NGINX 1.26.2配置正向代理并编译安装的完整过程
配置正向代理并编译安装的完整过程,使用了。打开 NGINX 配置文件。检查防火墙是否阻止了端口。
2026-03-28 15:17:15
157
原创 SQL实现md5加密方法
MD5(Message Digest Algorithm 5) 是一种广泛使用的哈希算法,它将输入的字符串(或数据)转换为固定长度的 128 位(16 字节)哈希值。不可逆性:MD5 是一种单向哈希算法,这意味着你无法从 MD5 哈希值还原出原始数据。输出固定长度:无论输入数据的长度如何,MD5 输出的哈希值始终是 32 个字符的十六进制数(128 位)。碰撞性。
2026-03-28 11:12:58
171
原创 Spring Boot--@PathVariable、@RequestParam、@RequestBody
RESTful是一种基于HTTP协议的软件架构风格,它用于设计网络应用程序接口(API)。REST代表“表述性状态转移”(Representational State Transfer),其核心思想是通过一组标准的操作和资源来实现客户端与服务器之间的交互。RESTful API 设计强调简洁、直观和易于理解,遵循无状态通信原则,使得开发者能够快速构建和维护分布式系统。RESTful 的基本原则无状态性(Stateless)
2026-03-27 16:08:23
339
原创 Redis的安装教程(Windows+Linux)【超详细】
点这里Redis是开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如 字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU逐出,事务和不同级别的磁盘持久性,并通过以下方式提供高可用性:Redis Sentinel和Redis Cluster自动分区。您可以 对这些类型运行原子操作,例如追加到字符串;在哈希中增加值;将元素推送到列表;计算集的交, 并与差;或获得排序集中排名最高的成员。
2026-03-26 06:12:18
364
原创 MySQL不使用子查询的原因
这些案例展示了如何通过不同优化策略提升MySQL查询性能,特别是在处理子查询时。创建合适的索引:经常用于WHERE和JOIN的字段应建立索引,避免在低选择性的字段上建立索引(如性别字段)。避免索引失效的情况:使用函数计算的字段不会使用索引,如应优化为。组合索引的最左前缀法则:确保查询条件从组合索引的最左列开始。使用EXPLAIN分析查询执行计划:通过EXPLAIN关键字可以帮助我们了解查询的执行计划,从而发现性能瓶颈。优化查询语句:避免使用SELECT *,使用LIMIT。
2026-03-26 03:07:31
389
原创 mysql查看binlog日志
修改数据目录配置文件 ,例:C:ProgramDataMySQLMySQL Server 8.0my.ini(可见:SHOW VARIABLES LIKE ‘log_bin%’;
2026-03-25 04:32:32
207
原创 java进阶知识点
缺点:会制造大量垃圾,由于他们不能被重用而且对于它们的使用就是”用“然后”扔“,字符串就是一个典型的例子,它会创造很多的垃圾,给垃圾收集带来很大的麻烦。当然这只是个极端的例子,合理的使用不可变对象会创造很大的价值。其次,String类的主力成员字段value是个char[]数组,而且是用final修饰的。这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变。通过接口的引用和构造方法的表达,将一些事情整好了反过来传给需要用到的地方~
2026-03-25 01:56:23
208
原创 从零开始在Windows系统上搭建一个node.js后端服务项目
打开app.js(原默认是index.js,没有选择直接回车,而是在后面输入app.js后再回车,因此我的入口文件就改成了app.js),可以看到,文件内是没有配置端口,以及启动打印的数据的,在这里可以自行手动配置下(app.get()或app.set()需要在var app = express();package文件内容随之改变,由于程序主入口是index.js,所以要创建index.js文件,(文件后缀必须是js)编辑index.js文件内容,为了快速,我们直接找到express官网,打开里面的示例。
2026-03-24 22:19:22
305
原创 【Spring Security系列】Spring Security 过滤器详解与基于JDBC的认证实现
上文说到,Spring Security它是一个强大的和高度可定制的身份验证和访问控制框架。它提供了一套丰富的功能,用于保护基于Spring的应用程序。上文又说到,在Spring Security中,过滤器(Filter)是一个重要的组件,用于处理身份验证、授权和其他安全相关的任务。Spring Security 的过滤器链由多个过滤器组成,每个过滤器负责处理特定的安全任务。当请求到达应用程序时,它会依次通过过滤器链中的每个过滤器,直到到达目标资源。
2026-03-24 21:27:52
329
原创 Node.js 安装报错npm error request to httpsregistry.npm.taobao.orgcnpm failed, reason certificate ha
是因为:npm错误请求https://registry.npm.taobao.org/cnpm失败,原因:证书已过期,执行返回的是 https://registry.npmjs.org/说明切换成功了。如果报一下错误,是因为npm版本过高的问题。可以使用,新版清除npm缓存的命令。后续可以使用cnpm安装需要的镜像。
2026-03-23 09:43:19
36
原创 java进阶训练营 极客,关于架构极客大学java进阶训练营
对于可变长数组(VLA)的问题:原来的C89规范中是不容许可变长数组呈现的,然而在C99规范中,退出了对VLA的反对[3],然而反对的编译器不多,而且因为栈溢出的平安问题,没有太多的人敢用这个可变长数组,所以在C11规范中又把它规定为可选实现的性能了[4]。与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。因为个别的传数组到函数中就是传数组的地址和元素的个数的,那只是一个提醒,不是要求。阐明整型数组a,有10个元素。如果要用户输出的是一个数组,个别是用一个循环,然而在输出前也须要固定数组的大小。
2026-03-23 01:54:53
185
原创 【Redis】Redis各个版本的下载安装教程
7、将Redis的目录添加到Path路径中(添加之后,运行client-cli,不需要切换到解压目录下就可以直接打开客户端)6、注册服务(注册之后,启动服务,可以省略到第4步使用redis),同样以管理员身份打开cmd窗口,切换到解压的目录,运行。4、一管理员方式打开cmd窗口,进入到解压的目录下,运行。5、另外再开一个窗口,同样进入安装目录下,运行。(1)运行之前,服务列表中不包含Redis。(3)运行之后,服务列表包含Redis服务。
2026-03-22 05:42:22
34
原创 springcloud springboot nacos版本对应
nacos 1.1.4版本存在服务异常离线问题,请谨慎使用。2.0.4.RELEASE(停止维护,建议升级)1.5.1.RELEASE(停止维护,建议升级)
2026-03-22 02:33:12
211
原创 Spring Boot实时推送技术详解:三个经典案例
id: ID!实现Resolver:处理GraphQL查询和订阅请求。@Component// 模拟消息发布});前端处理:前端使用GraphQL客户端订阅新消息,并处理接收到的数据。GraphQL订阅的优势在于能够精确请求所需数据,并且能够在数据变化时实时推送更新。本文介绍了三种使用Spring Boot实现实时消息推送的方法:长轮询、WebSocket和GraphQL订阅。每种方法都有其独特的优势和适用场景。
2026-03-21 08:01:26
290
原创 Spring boot启动原理及相关组件
ConfigurationClassPostProcessor的优先级为最高,它会对项目中的@Configuration注解修饰的类(@Component、@ComponentScan、@Import、@ImportResource修饰的类也会被处理)进行解析,解析完成之后把这些bean注册到BeanFactory中。在github里,我把Spring Boot应用启动的拓展组件(自定义的应用初始器、监听器、事件、ApplicationRunner)都写了例子,可参照阅读。
2026-03-21 08:00:53
185
原创 使用 Spring Boot 实现图片上传
在现代 web 开发中,图片上传功能是一个常见的需求。本文将介绍如何使用 Spring Boot 实现一个简单的图片上传功能,包括文件的上传、存储和展示。我们将使用 Spring Boot 的文件上传功能,并结合 Thymeleaf 作为模板引擎来构建前端界面。通过上述步骤,我们成功实现了一个简单的图片上传功能。你可以根据自己的需求进一步扩展功能,比如增加文件类型和大小的限制、支持多文件上传、实现文件的删除功能等。希望这个示例能帮助你在项目中实现图片上传功能!
2026-03-20 04:36:46
336
原创 【MySQL】MySQL Workbench下载安装、环境变量配置、基本MySQL语句、新建Connection
进入网址:MySQL :: MySQL Workbench Manual :: 2 Installation(1)点击“MySQL Workbench on Windows”(下载Windows版本)(2)点击“Installing”(3) 点击链接(4) Download第一个版本(5) 跳过注册登录,直接下载(6)下载后,点击文件,进行安装(7)选择“Custom”(8) 下载三个Products点击“Execute”开始下载:(9)下载完成后,默认Next操作(10)自己设定自己记得住的密码(11)设
2026-03-20 02:15:01
232
原创 Spring中的IOC详解
单例Bean和多实例Bean的生命周期主要区别在于实例化和销毁的管理方式,单例Bean在容器启动时创建一个实例,并由容器负责管理其生命周期的完整过程。在Spring框架中,Bean是应用程序的核心组件,它们由Spring容器创建、组装和管理,以帮助开发者实现松耦合、可测试和可维护的代码。IOC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。Bean的自动装配是Spring框架提供的一种便捷的方式,用于自动解析和设置Bean之间的依赖关系,而无需显式配置每一个依赖关系的方式。
2026-03-19 04:37:03
181
原创 Spring WebFlux:响应式编程
WebFlux提供了一个非阻塞、异步的Web框架,允许开发者构建高性能、可伸缩的 Web 应用程序,特别适合处理大量并发连接,如在微服务架构和云环境中。WebFlux是Spring Framework 5引入的一个重要组件,它代表了Spring对于响应式编程(Reactive Programming)的支持。是Spring WebFlux中用于定义请求路由的函数接口。通过实现,可以精确控制请求的匹配和处理。WebClient。
2026-03-19 02:13:37
175
原创 MySQL如何执行.sql 文件:详细教学指南
以上内容详细介绍了如何在不同环境下执行MySQL的.sql文件。无论你使用命令行客户端、图形化工具,还是批处理命令/Shell脚本,都可以轻松完成SQL脚本的执行。在实际操作中,根据具体需求选择适合自己的方法即可。希望这篇文章能帮助你顺利完成MySQL.sql文件的执行任务。
2026-03-18 04:43:58
207
原创 ThinkPHP和PHP的区别
PHP,即“超文本预处理器”,是一种在服务器端执行的脚本语言,它与C语言类似,是常用的网站编程语言。PHP的语法混合了C、Java、Perl以及PHP自创的语法,易于学习和使用。ThinkPHP是一个基于PHP的MVC(Model-View-Controller)框架,旨在简化企业级应用开发。它提供了一整套协作开发的规范,是一个提高开发效率、优化产品结构、促进团队协作的框架。PHP是一种编程语言,提供了基础的编程功能,适合从简单到复杂的所有类型的网络应用开发。
2026-03-17 23:41:11
314
原创 SQL Server 数据库迁移到 MySQL 的完整指南
将 SQL Server 数据库迁移到 MySQL 是一个复杂的过程,涉及多个步骤和注意事项。通过合理的规划和工具的使用,可以大大降低迁移的难度和风险。希望本文能够帮助你顺利完成数据库迁移,并在新的环境中获得更好的性能和成本效益。??如果你在迁移过程中遇到任何问题,欢迎在评论区留言,我会尽力为你解答。
2026-03-17 23:03:32
541
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅