- 博客(67)
- 收藏
- 关注
原创 SpringBoot中自定义Starter
1. 前置知识1-1 什么是Starter?1-2 常用的Condition注解说明1-3 Starter的命名规范2. 自定义自己的Starter示例2-1 创建Starter项目2-2 Pom.Xml【示例引入了spring-boot-starter和lombok】2-3-1 配置类:PersonProperties2-3-2 业务类:PersonService2-3-3 自动配置类:PersonAutoConfiguration2-4 创建spring.factories文件。
2026-05-03 21:20:57
374
原创 Spring Boot 中 RabbitMQ 的使用
在中,我们学习了 RabbitMQ 的,接下来,在本篇文章中,我们就来在中实现常见的工作模式(由于 RPC 模式 和 发布确认模式 使用较少,因此在这里就不进行介绍了),进而学习在 Spring Boot 中如何使用 RabbitMQ在编写代码之前,我们需要先创建项目,引入依赖,并配置基本信息。
2026-05-03 19:47:15
294
原创 Node.js NativeAddon 构建工具:node-gyp 安装与配置完全指南
Node.js NativeAddon 构建工具(node-gyp)是一个基于 Node.js 的跨平台命令行工具,专用于编译 Node.js 的原生插件模块。它内部封装了源自Chromium团队使用的 gyp-next 项目,并针对 Node.js 模块开发进行了扩展。值得注意的是,node-gyp 不用来构建 Node.js 自身,而是专注于让开发者能够轻松地在不同的操作系统上编译原生模块。这个工具支持多种版本的 Node.js,并自动匹配对应版本的开发文件。JavaScript 和 C/C++
2026-05-03 18:16:12
349
原创 MySQL——内置函数
在date中添加日期或时间,interval后的数值单位可以是:year、minute、second、day。:在date中减去日期或时间,interval后的数值单位可以是:year、minute、second、day。:返回substring在string中出现的位置,没有返回0。:如果val1为null,返回val2,否则返回val1的值。:从str的postion开始,取length个字符。:从string中的左边起取length个字符。:显示当前正在使用的数据库。:两个日期的差,单位是天。
2026-05-03 16:45:58
205
原创 Java语法进阶
一、Object类、常用API二、Collection、泛型三、List、Set、数据结构、Collections四、Map与斗地主案例五、异常、线程目标:1、说出进程的概念2、说出线程的概念3、能够理解并发与并行的区别4、能够开启新线程4.1 并发与并行4.2 线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。进程:线程是进程
2026-05-03 15:13:38
381
原创 MySQL——表的约束
真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合****法性。表的约束:表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。约束的本质是通过技术手段,倒逼程序员去插入正确的数据。约束的最终目的,就是保证数据的完整性和可预期性。非空约束有两个值:null(默认的)和not null(不为空)。数据库中默认创建的字段,如果不添加非空约束,基本都是可以为空,但是实际开发时,有些字段可能被要求必须添加数据,因此必须设置为非空。同时应该尽可能保证字段不
2026-05-02 21:49:21
315
原创 MySQL——表操作及查询
MySQL的操作中,一些专用的词无论是大写还是小写都是可以通过的。"[]"表示可有可无,插入时,如果不指定要插入的列,则表示默认全部列都要插入数据,插入数据的顺序必须和列的顺序一致。如果插入单行数据,则只需一个"()“,如果想要多行插入,则可以同时追加多个”()"。此外,由于主键或者唯一键对应的值已经存在而导致插入失败,则可以更新数据:除这条语句之外,还有一条语句,名为替换,也可以解决主键或唯一键冲突问题:如果没有发生冲突,就相当于直接插入,如果发生冲突,则删除原有数据,重新插入新数据。全列查询指定列查询查
2026-05-02 21:48:51
354
原创 Job for mysqld.service failed because the control process exited with error code. See “systemctl sta
杀死进程之后导致mysql进程还在,根本杀不死,查询mysql杀不死原因,重启服务器也不行。有可能是权限不足也有可能是,mysql存在锁机制导致mysql进程杀不掉。服务器系统盘空间已满导致mysql异常停止,启用mysql导致失败,再次查询mysql服务启用成功!
2026-05-02 20:38:06
21
原创 Django视图与URLs路由详解
在本系列文章中,我们从多方面详细探讨了在Django中设置和使用视图、URL路由以及测试和调试的技巧。正确的路由配置对于网站结构的清晰性和用户体验都是至关重要的。我们也介绍了如何通过编写单元测试和集成测试来保证代码质量,以及如何使用Django的调试工具来识别和解决代码中的问题。希望这些内容能够帮助您更好地理解和利用Django的强大功能,为您的应用构建一个安全、高效且易于维护的后端系统。无论是正在开发一个小项目还是大型应用,掌握这些基本的技术都是成功开发的关键。
2026-05-02 19:22:21
356
原创 MySQL---存储过程详解
存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。特点:封装,复用 -----------------------> 可以把某一业务SQL封装在存储过程中,需要用到的时候直接调用即可。可以接收参数,也可以返回数据 --------> 再存储过程中,可以传递参数,也可以接收返回值。
2026-05-01 18:59:40
277
原创 Linux系统离线部署MySQL详细教程(带每步骤图文教程)
使用sftp工具上传到/usr/local目录上在/usr/mysql/目录下groupadd mysql #创建用户组# -r 参数表示mysql 用户是系统用户,不可用于登录系统;# -g 将用户mysql添加到用户组mysql中chown -R mysql /usr/local/mysql/ # 将文件的所有属性改为mysql用户chgrp -R mysql /usr/local/mysql/ # 将组属性改为mysql组mkdir -p /data/mysql #创建数据目录。
2026-05-01 18:08:54
420
原创 Java实战:Spring Boot实现WebSocket实时通信
本文详细介绍了如何在Spring Boot应用程序中实现WebSocket实时通信。我们首先了解了WebSocket的基本概念和特点,然后学习了如何使用Spring Boot和Spring WebSocket模块来实现WebSocket服务器和客户端。我们还通过具体的示例展示了如何在Spring Boot应用程序中配置和使用WebSocket,以及如何实现实时消息传递和群发消息等功能。通过本文,您应该已经掌握了如何使用Spring Boot实现WebSocket实时通信。
2026-05-01 17:19:28
362
原创 Django视图与URLs路由详解
在本系列文章中,我们从多方面详细探讨了在Django中设置和使用视图、URL路由以及测试和调试的技巧。正确的路由配置对于网站结构的清晰性和用户体验都是至关重要的。我们也介绍了如何通过编写单元测试和集成测试来保证代码质量,以及如何使用Django的调试工具来识别和解决代码中的问题。希望这些内容能够帮助您更好地理解和利用Django的强大功能,为您的应用构建一个安全、高效且易于维护的后端系统。无论是正在开发一个小项目还是大型应用,掌握这些基本的技术都是成功开发的关键。
2026-05-01 15:37:48
349
原创 如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。打开浏览器,我们来测试一下访问配置成功的二级子域名,出现nginx欢迎界面表示成功,可以正常访问。然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址。,可以看到nginx隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。,找到需要配置二级子域名的隧道,点击右侧的。
2026-04-22 13:01:15
301
原创 分布式WEB应用中会话管理的变迁之路
利用负载均衡器的分发能力,将同一浏览器上同一用户的请求,都定向发送到固定服务器上,让这个服务器处理诠用户的所有请求,这样只要这个服务器上保存了用户Session,就能保讷用户的状态一致性。,是把原来的单体架构应用,通过分而治之的手段,按照业务功能,切分成一些小的模块应用,部署在不同服务器节点上,例如上图中的服务器A和B。在这样的单体架构中,由于所有的用户请求都是由这个唯一的服务器进行响应处理,所以只要把保存了用户信息和状态的Session对象,存放在应用服务器内存里,就能轻松地达到保持用户状态的目的。
2026-04-22 12:08:32
392
原创 MySQL——用户管理
在使用MySQL时,初始都是只有一个,跟Linux类似,拥有最高管理员权限。如果数据库将来要被多个人使用,如果所有人都通过root登录,那么就可以对所有的数据库信息进行操作,这显然是不安全的,因此MySQL也必须做用户管理。
2026-04-22 03:36:39
216
原创 Java面向对象(进阶)
其优点在于他可以隐藏私有数据,让使用者只能通过公共的访问方法来访问这些字段,有利于限制对数据的不合理访问,保护对象信息的完整性。Java接口时一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征而没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。Java继承是一种使用已存在的类的定义作为基础去建立新类的技术,新类的定义可以增加新的数据或新的功能,也能使用父类的功能。
2026-04-22 02:08:40
220
原创 DeepSeek背后的技术基石:DeepSeekMoE基于专家混合系统的大规模语言模型架构
DeepSeekMoE通过创新的混合专家架构、潜在注意力缓存和优化的归一化策略,在模型规模与计算效率之间找到了新的平衡点。其在降低计算成本的同时保持了领先的性能水平,为大规模AI系统的可持续发展提供了新的思路。后续研究将探索该架构在多模态任务中的应用,以及路由算法的进一步优化。
2026-04-22 00:40:41
353
原创 sql专题 之 sql的执行顺序
存储与生成:虚拟表通常不存储实际数据,而是基于其他表或查询动态生成;结果集是查询执行后实际返回的数据集合。持久性虚拟表可以存储在数据库中供后续查询重用结果集通常是临时的,一旦查询完成就会被释放。用途虚拟表常用于简化复杂查询、提高查询可读性和可维护性;结果集则是查询执行后的直接输出,用于数据处理和展示。
2026-04-21 11:05:05
298
原创 Springboot3 Mybatis-plus 3.5.9
{"age": 20, "intro": "佛系青年", "gender": "male"}@Data。
2026-04-21 08:43:27
331
原创 Redis五种用途
Redis是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。- Redis支持数据的备份,即master-slave模式的数据备份。
2026-04-21 06:26:28
219
原创 mysql时间时区修改、set global、配置文件-default-time-zone
通过查看mysql错误日志或二进制日志可以看到时间和时区并不与国内的东八区时间一致。
2026-04-21 04:07:43
47
原创 Java进阶(五)常用API、Lambda、常见算法
从Java8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:LocalDate:不包含具体时间和日期。LocalTime:不包含日期的时间。LocalDateTime:包含了日期及时间。Instant:代表的是时间戳。DateTimeFormatter:用于做时间的格式化和解析。Duration:用于计算两个“时间”间隔。Period:用于计算两个“日期”间隔。新增的API严格区分了时刻、本地日期、本地时间,并且对日期和时间进行运算更加方便。
2026-04-21 01:51:38
223
原创 【MySQL】JDBC的连接
JDBC(Java DataBase Connectivity)java 数据库连接,是 JavaEE 平台下的技术规范,其定义了在 Java 语言中连接数据,执行 SQL 语句的标准,可以为多种关系数据库提供统一访问。
2026-04-19 20:17:59
158
原创 SpringGateway网关(Spring Gateway是Spring自己编写的,也是SpringCloud中的组件)
早期(2020年前)奈非提供的微服务组件和框架受到了很多开发者的欢迎这些框架和SpringCloud Alibaba的对应关系我们要了解现在还有很多旧项目维护是使用奈非框架完成的微服务架构Nacos对应Eureka都是注册中心Dubbo对应Ribbon+feign都是实现微服务远程RPC调用的组件Sentinel对应Hystrix都是做项目限流熔断降级的组件Gateway对应Zuul都是网关组件Gateway框架不是阿里写的,是Spring提供的"网"指网络,"关"指关口或关卡。
2026-04-19 17:30:25
164
原创 Spring Cloud GateWay搭建
注册中心,常用的有:Eureka、Consul、Zookeeper、Nacos,此处要明白一点是注册中心本身就是一个服务,所以对注册中心而言,不仅仅局限于java编写的,也存在于是其他语言编写,本质是一个server软件,只需要满足注册中心的功能即可。注册中心服务已启动完毕,接下来启动两个微服务作为注册中的client。针对两个服务各自创建两个控制层接口,顺便在配置文件中定义下服务的请求上下文路径。简单搭建一个,有注册中心,两个微服务,一个网关的组成的微服务架构。此时证明我们的注册中心服务以启动完毕!
2026-04-19 14:51:46
236
原创 PHP 8.4:新特性与改进,PHP界的又一次飞跃
PHP 8.4引入了属性钩子,允许开发者直接在属性定义中指定getter和setter,从而简化了代码并提高了IDE和静态分析工具的兼容性。在这篇文章中,我们将深入探讨PHP 8.4的新特性,以及它们如何影响开发者的工作和PHP的未来。PHP 8.4引入了新的DOM API,包括对HTML5文档的标准兼容支持,修复了DOM功能的长期兼容性问题,并添加了多个函数以方便文档操作。PHP 8.4还引入了许多新的类、接口和函数,包括懒加载对象、新的JIT实现、新的。PHP 8.4引入了新的。PHP 8.4引入了。
2026-04-19 12:01:24
154
原创 MySQL5.7.44-winx64版本Windows Server下载安装教程图解
2、解压到D:mysql-5.7.44-winx64 目录下(这个可以根据需要自行调整),解压后在根目录下创建my.ini和data文件夹。3.新建环境变量,命名为MYSQL_HOME,变量值为msql的安装目录:D:mysql-5.7.44-winx64。再在服务里启动mysql,这时候mysql的端口已修改,原来已使用的程序,请也一起修改端口。6.登录mysql,mysql -uroot -p,首次默认空密码,修改远程连接配置。7、修改密码,mysql -uroot -p,首次默认空密码。
2026-04-19 03:32:03
207
原创 报错The default superclass, “jakarta.servlet.http.HttpServlet“(已经配置好tomcat)
报错报错DescriptionResourcePathLocationType The default superclass,“jakarta.servlet.http.HttpServlet”, according to the project’s Dynamic Web Module facet version (5.0), was not found on the Java Build Path.解决办法:根据错误信息,“默认超类`jakarta.servlet.http.HttpServlet`根据
2026-04-18 06:50:55
172
原创 【玩转全栈】----Django模板语法、请求与响应
像之前那个页面,太过简陋,而且一个完整的页面,也不可能只用HttpResponse返回文本,这就可以用django的模板语法,模板语法相当于将前后端分离了,前端专写页面,写成一个html文件,然后后端在视图函数中可以通过渲染(render)将前端的html文件渲染为HTTP响应。这里的用户名和密码是自己设置的,一般来说,用户名和密码是不会出现在代码中的,容易泄露,可以存放于数据库中,但我图方便就先这样了,后面再出一个完整的Django和Mysql连接的博客。提交的查询参数的一个对象。
2026-04-18 04:27:26
219
原创 WebSpoon9.0(KETTLE的WEB版本)编译 + tomcatdocker部署 + 远程调试教程
Kettle简介 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定WebSpoon是Kettle的Web版本,由Kettle社区维护,不受Pentaho支持,实现了Kettle的大部分功能。
2026-04-18 02:03:36
220
原创 Redis 安装及配置教程(Windows)【安装】
Redis 是用 ANSI C 编写的,可以在大多数 POSIX 系统中使用,而无需外部依赖。Linux 和 OS X 是 Redis 开发和测试最多的两个操作系统,官方建议使用 Linux 进行部署,Windows版本没有官方支持。Redis 在 Windows 平台上不受官方支持,Redis 官方只提供了源码包(zip、tar.gz 格式)。当然想要在 Windows 上安装 Redis 也还是可行的。
2026-04-04 04:30:56
286
原创 MySQL 的 INSERT(插入数据)详解
如果你要插入的值涵盖了表中的所有列,可以省略列名部分。但请注意,值的顺序必须与表中列的顺序相同。无论是基础的单行插入,还是高级的插入否则更新和数据迁移。语句非常灵活,支持多种语法形式,可以根据具体需求选择合适的用法。如果你希望在插入数据时忽略已经存在的记录(即不抛出错误),可以使用。如果你希望在插入数据时遇到主键或唯一键冲突时更新现有记录,可以使用。语法来插入数据,这种方式更适用于需要明确指定列名和值的场景。语法,适用于插入单行数据。子句中指定多组值,从而一次性插入多行数据。语句的详细语法和使用示例。
2026-04-04 01:30:37
215
原创 SQL2000在win10上安装的方法
安装前最好先关闭防火墙和一些杀毒软件,因为这些软件在安装过程中可能会碰到注册表等一下。毒软件比较敏感的地带,如果违反杀毒软件的规则会被当做病毒强行终止删除。
2026-04-02 09:45:39
241
原创 Spring Boot(七):Swagger 接口文档
Swagger 是一款 RESTful 风格的接口文档在线自动生成 + 功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。目标是使客户端和文件系统作为服务器以同样的速度(同步)更新文件的方法,参数和模型紧密集成到服务器。这个解释简单点来讲就是说,Swagger 是一款可以根据 resutful 风格生成的接口开发文档,API 文档与 API 同步更新,并且支持做测试的一款中间软件。
2026-04-02 06:30:27
460
原创 Neo4j图数据库学习(二)——SpringBoot整合Neo4j
本文介绍如何通过SpringBoot整合Neo4j的方式,对图数据库进行简单的操作。Neo4j和SpringBoot的知识不再赘述。Neo4j图数据库学习(一)——初识CQL由于作者的水平非常有限,难免会出现错误,欢迎各位指正!假如您有任何想法,也欢迎交流!
2026-04-02 03:14:25
352
原创 【MySQL】表的基本操作
创建表可指定字符集和存储引擎,不指定字符集和存储引擎默认为 InnoDB存储引擎 和 utf8mb4字符集。查看当前数据库的表,和查看具体表结构是不同概念,使用不同语句查看。表的修改和删除涉及等关键字。本文内容到此结束,如果感觉有帮助的话,还望给博主一个赞~~
2026-04-01 03:23:16
210
原创 SpringBoot获取bean的几种方式
ApplicationObjectSupport类图入下,我们看到它实现了ApplicationContextAware接口,在Spring容器初始化过程中回调方法setApplicationContext来完成ApplicationContext的赋值。通过实现ApplicationContextAware接口,在Spring容器启动时将ApplicationContext注入进去,从而获取ApplicationContext对象,这种方法也是常见的获取Bean的一种方式,推荐使用。
2026-04-01 00:15:53
352
原创 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-03-31 03:29:04
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅