- 博客(43)
- 收藏
- 关注
原创 【监控】Spring Boot+Prometheus+Grafana实现可视化监控
本文是博主JAVA监控技术系列的第四篇,前面已经聊过了JMX、Spring actuator等技术,本文我们就将依托于Spring actuator+监控组件prometheus+数据可视化组件grafana来实现对Spring Boot应用的可视化监控。Spring Boot 监控_springboot 监控-优快云博客【监控】spring actuator源码速读-优快云博客先看看整个prometheus的架构:看起来很复杂对吧?
2025-12-01 10:19:31
784
原创 SQL 实战:复杂数据去重与唯一值提取
在实际开发中,数据重复是常见问题,例如用户多次登录记录、订单状态重复更新等。如何高效提取符合业务需求的唯一值或最新记录,对系统性能和数据准确性至关重要。本文将探讨如何使用 SQL 的以及 DISTINCT实现复杂场景下的数据去重与唯一值提取,避免重复数据干扰业务分析。函数/技术说明示例去除重复行,返回唯一记录按指定列分组,返回每组的聚合结果窗口函数,为每组记录编号,通常用于去重或排名类似,但排名相同记录具有相同序号连续排名,不跳跃。
2025-12-01 08:32:26
611
原创 Spring Cloud gateway 路由规则
匹配 /api/user/ 下的所有子路径,包括多级子路径,例如 /api/user/profile 和 /api/user/orders/123。作用:定义一组断言,用于决定请求是否匹配该路由。作用:定义一组过滤器,用于在请求转发前后对请求或响应进行修改。匹配 /api/user/ 后跟一个或多个数字的路径,例如 /api/user/123。匹配 /api/user/ 下的一级子路径,例如 /api/user/profile。匹配请求路径为 /api/user 的请求。
2025-12-01 04:59:25
983
原创 Nginx 生成、配置SSL证书&让浏览器信任证书
注:-extfile private.ext -extensions SAN 是指告诉OpenSSL从private.ext文件中读取[SAN]下扩展的定义,并将其应用到正在生成的证书中。下面 以上文 “模拟CA机构方式生成证书(生成证书方式二,推荐)” 方式安装CA证书到本地,让浏览器信任证书。注:在访问网站使用的IP或者域名,必须是 subjectAltName 下指定的域名或者IP。正常情况下,用浏览器访问自签名的证书网站,那么浏览器会提示当前网站不安全,证书不受信任。安装证书,让浏览器信任证书。
2025-12-01 03:14:22
498
原创 Linux下MySQL的简单使用
可以看到C语言已经有了很成熟的与MySQL交互的接口,并且大部分函数的使用是和MySQL版本不相关的,但实际在Ubuntu运行的时候还是需要注意MySQL的版本和包的问题,因为新版本的MySQL库修改了一些配置文件的位置和相关的依赖包。
2025-12-01 01:28:00
985
原创 SQL Server中,CONVERT函数转换日期
在SQL Server中,CONVERT函数支持多种样式代码(style codes),用于指定日期和时间的格式。样式代码23是一种常用的格式,表示yyyy-mm-dd。
2025-11-30 18:37:52
226
原创 Spring Boot项目接收前端参数的11种方式
RequestParam主要用于在Spring MVC后台控制层获取参数,它有三个常用参数。参数名描述表示设置默认值required表示该参数是否必传value值表示接收传入的参数的key@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出URL模板中的变量作为参数。@RequestBody该注解会把接收到的参数转为JSON格式。
2025-11-30 16:58:33
980
原创 Nginx 之Rewrite 使用详解
Nginx 的rewrite模块是处理 HTTP 请求过程中的一个重要功能,它允许基于 Perl 兼容正则表达式(PCRE)对用户请求的 URI 进行重写,并返回 30x 重定向跳转或按条件执行相关配置。这个模块提供了灵活的 URL 重写和重定向功能,可以用于实现友好 URL、301/302 重定向、条件重写等。
2025-11-30 14:50:26
692
原创 Linux下PostgreSQL-12.0安装部署详细步骤
其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。至此,已完成postgreql的安装。进入/opt/pgsql/postgresql目录可以看到安装后的postgresql的文件。
2025-11-30 01:31:58
729
原创 【Spring】Cookie和Session是什么
在计算机领域,会话是一个客户与服务器之间的不中断的请求响应。对客户的每个请求,服务器能够识别出请求来自于同一个客户。当一个未知的客户向 Web 应用程序发送第一个请求时就开始了一个会话。当客户明确结束会话或服务器在一个时限内没有收到客户的任何请求时,会话就结束了。服务器需要清楚地区分每个请求时从属于哪个用户,也就是属于哪个会话,就需要在服务器这边记录。此时在服务器这边就需要记录“令牌”的信息,以及令牌对应的用户信息,这个就是。但是在实际开发中,我们很多时候是需要知道请求之间的关联关系的。
2025-11-29 22:01:24
777
原创 Spring Boot的项目结构
合理的项目结构不仅能够提高代码的可读性和可维护性,还能够帮助团队成员更好地协作。特别是在大型项目中,良好的项目结构设计能够有效降低代码的耦合度,提高系统的可扩展性。此外,合适的测试结构和构建配置也是保证项目质量的重要因素。Spring Boot项目结构遵循Maven或Gradle的标准目录结构,同时融入了Spring Boot的特定约定。良好的项目结构不仅有助于代码组织,还能提高开发效率和项目可维护性。了解Spring Boot的项目结构对于开发高质量的应用至关重要。
2025-11-29 18:31:23
285
原创 Nginx URL Rewrite:灵活的 URL 重写与重定向
它常用于静态资源的处理,例如检查文件是否存在,如果不存在,则重写请求到某个页面(通常是首页或错误页面)。Nginx 支持强大的正则表达式匹配功能,可以用来处理更复杂的 URL 重写需求。Nginx 的 **URL 重写(Rewrite)**功能允许你根据请求的 URL 动态地修改请求路径或进行重定向。当请求的文件或页面不存在时,你可能希望将请求重定向到一个自定义的 404 页面或者首页。:新的 URL,符合规则时,Nginx 会将请求的 URL 重写为这个目标。示例:当请求的文件不存在时,重定向到。
2025-11-29 16:51:41
776
原创 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选项。
2025-11-29 15:13:17
583
原创 在Spring Boot项目中使用MySQL数据库
通过本文,你已经了解了如何在 Spring Boot 项目中集成 MySQL 数据库,并通过简单的 API 来管理用户数据。Spring Boot 的简洁性和 MySQL 的强大功能结合,使得开发高效且愉快。
2025-11-27 16:37:29
377
原创 【MyBatisPlus】MyBatisPlus介绍与使用
【MyBatisPlus】MyBatisPlus介绍与使用1、什么MyBatisPlus2、MyBatisPlus的CRUD操作3、MyBatisPlus分页使用。
2025-11-27 12:50:33
311
原创 Springboot的jak安装与配置教程
打开终端应用程序,可以通过Finder中的“应用程序” > “实用工具”找到。如果你不确定使用哪个shell,可以通过在终端输入。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。打开命令提示符(CMD),可以通过在搜索栏输入。对于nano编辑器,你可以按。对于nano编辑器,你可以按。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。
2025-11-27 11:06:24
425
原创 Redis--模糊查询--方法实例
说明本文介绍Redis模糊查询的方法。官网网址Redis模糊查询键的方法Redis提供了两种模糊查询键的方法:KEYS , SCAN。推荐用SCAN,下边会介绍。模糊查询的通配符KEYS和SCAN都支持glob通配符*:通配任意多个字符:通配单个字符[]:通配括号内的某一个字符示例hllo匹配 hello, hallo and hxlloh*llo匹配 hllo、heeeelloh[ae]llo匹配 hello、hallo不匹配 hilloh[^e]llo。
2025-11-26 20:31:37
253
原创 MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换
在MySQL中,经常需要在DATETIMESTAMP和字符串之间进行相互转换。
2025-11-26 18:52:33
316
原创 Go环境搭建(vscode调试)
如果出现go.tools.intall not found 可以重启一下VScode,确保path中go的bin目录配置正确。推荐使用moudle模式,这样三方包就在$GOPATH/pkg/mod目录下,可以允许有多个不同的版本,多个项目都可以共享。这就有点像Java的包管理模式了,不用每个项目都去处理GOPTH,也不需要每个项目都去下载相同的三方包了。go get和go intall下载的三方包就会安装到GOPATH中。我们下载的免安装版本,直接解压就可以。
2025-11-25 17:11:35
399
原创 基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
云南,这个位于中国西南边陲的省份,以其独特的地理位置和丰富的民族文化而闻名。作为中国连接东南亚和南亚的重要门户,云南拥有长达四千多公里的边境线,与缅甸、老挝和越南三国接壤。这条边境线不仅是中国对外开放的前沿,也是维护国家安全和地区稳定的关键地带。随着全球化的深入发展和区域合作的不断加强,云南边境线的战略地位日益凸显。云南的边境线总长达到4060公里,是中国边境线最长的省份之一。这条边境线没有天然物理屏障,地势错综复杂、犬牙交错,有的是山高林密、荆棘丛生,沼泽密布、河水湍急。
2025-11-25 12:54:40
818
原创 Linux下MySQL的简单使用
可以看到C语言已经有了很成熟的与MySQL交互的接口,并且大部分函数的使用是和MySQL版本不相关的,但实际在Ubuntu运行的时候还是需要注意MySQL的版本和包的问题,因为新版本的MySQL库修改了一些配置文件的位置和相关的依赖包。
2025-11-24 16:21:59
1121
原创 Nginx location 和 proxy_pass 配置详解
Nginx 配置中location和proxy_pass指令的不同组合方式及其对请求转发路径的影响。当proxy_pass代理地址端口后有目录(包括代理地址 + 访问 URL 目录部分去除location匹配目录。当proxy_pass代理地址 + 访问 URL 目录部分(包括location地址)。
2025-11-23 17:12:29
427
原创 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选项。
2025-11-23 15:18:32
472
原创 Nginx URL Rewrite:灵活的 URL 重写与重定向
它常用于静态资源的处理,例如检查文件是否存在,如果不存在,则重写请求到某个页面(通常是首页或错误页面)。Nginx 支持强大的正则表达式匹配功能,可以用来处理更复杂的 URL 重写需求。Nginx 的 **URL 重写(Rewrite)**功能允许你根据请求的 URL 动态地修改请求路径或进行重定向。当请求的文件或页面不存在时,你可能希望将请求重定向到一个自定义的 404 页面或者首页。:新的 URL,符合规则时,Nginx 会将请求的 URL 重写为这个目标。示例:当请求的文件不存在时,重定向到。
2025-11-20 12:25:56
856
原创 Linux下MySQL的简单使用
可以看到C语言已经有了很成熟的与MySQL交互的接口,并且大部分函数的使用是和MySQL版本不相关的,但实际在Ubuntu运行的时候还是需要注意MySQL的版本和包的问题,因为新版本的MySQL库修改了一些配置文件的位置和相关的依赖包。
2025-11-20 10:41:19
719
原创 四、nginx的优化和location匹配规则
2、如下图片显示,如果我们主机是4核的,那么每个进程进来都需要内核来处理,可能会造成同一个进程请求可能被不同内核处理(跳频),所以需要我们把进程绑定到cpu上,一个进程有一个cpu处理,防止跳频。1、确保连接时被可靠的关闭:即时是四次挥手之后,对方有可能还有数据未处理完毕,在timewait阶段可以保证数据依然被正确的处理,防止旧的数据包影响其他新的连接。2、避免出现连接复用的问题:如果timewait不存在,或者时间较短,旧的连接可能依然处于网络之中,有可能被认为新的连接。
2025-11-19 14:46:18
561
原创 《计算机网络》(B)复习
解: UDP总长度为:8000+8=8008B,MTU=1500B,IP头部=20B,数据部分为:1500 20=1480B(1)按上述过程进行分片,8008=1480*5+608,能分为6个分片;(2)最后一个分片长度为:608+20=628B,片偏移量分别为:0,185(1480/8),370, 555,740,925。
2025-11-19 12:57:31
937
原创 [已解决]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服务。这样就可以正常操作了。
2025-11-18 17:07:35
324
原创 SpringBoot实战:高效实现API限流策略
你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。
2025-11-18 15:15:05
390
原创 如何在 Ubuntu 22.04 上安装 MySQL
MySQL 是开发人员最常用的数据库之一,因为它在功能、性能和易用性之间取得了平衡,提供了高性能、可扩展性、安全性、灵活性和低成本。在本教程中,我们将向您展示如何在七个步骤中在 Ubuntu 22.04 上安装 MySQL。我们包括安装、配置、保护 MySQL 以及创建新用户。MySQL 是最流行的开源数据库管理系统之一。它是著名的 LAMP(Linux、Apache、MySQL、PHP)堆栈的组成部分,并为主要的 Web 应用程序和平台提供了近二十年的支持。
2025-11-17 13:02:08
861
原创 【MySQL】SQL菜鸟教程(一)
1.从 “Websites” 表中删除网站名为 “Facebook” 且国家为 USA 的网站。1.把 “菜鸟教程” 的 alexa 排名更新为 5000,country 改为 USA。在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。constraint: 列的约束(如 PRIMARY KEY、NOT NULL 等)。ORDER BY: 排序方式,ASC 表示升序,DESC 表示降序(可选)。data_type: 列的数据类型(如 INT、VARCHAR 等)。
2025-11-17 11:21:21
993
原创 【MySQL】复合查询
首先,要有一张每个部门的平均工资临时表,然后用临时表与员工表做连接查询,从连接查询的结果中筛选出来符合条件的即可。首先我们要始终明确一点:sql查询出来的结果一定是一张表,所以可以把一个子查询的结果当做一个临时表使用。在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。先查询10号部门的岗位,就当前表而言,其结果会有多行记录;然后再找出岗位相同的。首先要找出最高的工资,然后使用工资去比较,使用嵌套查询(子查询),也是在开发过程中使用的最多的连接查询。
2025-11-16 15:43:37
1004
原创 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文件。
2025-11-16 13:49:43
671
原创 UNION 和 UNION ALL 的区别:深入解析 SQL 中的合并操作
在 SQL 的世界里,当我们需要合并多个查询结果集时,UNION和UNION ALL是两个常用的操作符。虽然它们的功能看起来相似,但实际上有着重要的区别,这些区别在不同的应用场景中会对查询结果和性能产生显著影响。本文将详细探讨UNION和UNION ALL的区别,帮助你更好地理解和运用它们。
2025-11-15 15:23:39
857
原创 记录 idea 启动 tomcat 控制台输出乱码问题解决
打开 tomcat 的 Edit Configurations 页面。确保 tomcat 的配置中编码设置正确。如果以上还不能解决问题,尝试以下两种方案。运行 tomcat 后,控制台输出乱码。若 3 不行,尝试第四种解决方案。
2025-11-15 01:44:06
286
原创 【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
在项目中,我们自定义一个类,如果我们想把这个类交给ioc容器管理,加上@Component衍生注解即可,如果这个类不是我们自己自定义的,是我们引入第三方依赖中的,而且我们还想把这个类交给ioc容器管理,那么我们应该定义一个方法,在这个方法上加上@Bean在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!
2025-11-14 17:43:03
1031
原创 SpringCloud-持久层框架MyBatis Plus的使用与原理详解
MyBatis 是一个优秀的 ORM 框架,它通过 XML 或注解的方式将 Java 方法与 SQL 语句进行映射,并且可以灵活地控制 SQL 执行的各个细节,提供极高的自由度。它广泛应用于项目中,尤其是在对 SQL 语句要求比较严格的场景中。MyBatis Plus 是在 MyBatis 的基础上进行增强的持久层框架,专注于简化 MyBatis 的开发工作。它封装了常用的 CRUD 操作,极大地减少了开发者编写 SQL 的工作量。其目标是“更少的配置,更多的功能”,通过插件机制提供更强大的功能扩展。
2025-11-14 15:41:19
756
1
原创 Tomcat 都有哪些核心组件
当请求的uri与所有的 path都不匹配时,使用该默认Web应用来处理。但是,需要注意的是,在自动部署场景(配置文件位于xmlBase中),不能指定path属性,path属性由配置的文件的文件名,WAR文件的文件名或应用目录的名称自动推导出来。在后文中,提到 Context、应用或 Web应用,他们都代指Web应用,每个 Web应用基于 WAR文件,或 WAR文件解压后对应的目录(这里称为应用目录)Context 是 Host 的子容器,每个 Host 都可以定义任意多的 Context元素。
2025-11-13 18:38:48
375
原创 SpringCloud系列教程:微服务的未来(十四)网关登录校验、自定义过滤器GlobalFilter、GatawayFilter
在微服务架构中,API 网关扮演着至关重要的角色,负责路由请求、执行安全验证、流量控制等任务。Spring Cloud Gateway 作为一个强大的网关解决方案,提供了灵活的方式来实现这些功能。本篇博客将重点介绍如何在 Spring Cloud Gateway 中实现网关登录校验,以及如何利用自定义过滤器(GlobalFilter 和 GatewayFilter)来处理请求和响应。通过这些技术,开发者可以在网关层统一处理认证、授权等功能,同时保持对路由的细粒度控制。
2025-11-13 17:51:10
362
原创 springboot整合mybatis-plus(保姆教学) 及搭建项目
一、Spring整合MyBatis。测试一下看看项目是否能运行起来。二:整合mybatis步骤。
2025-11-12 13:07:21
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅