- 博客(87)
- 收藏
- 关注
原创 Nginx搭建负载均衡
负载均衡是将用户请求分发到多台服务器的一种技术,确保多个服务器共同承担负载,从而提升应用的可用性与响应速度。通过负载均衡,系统能够在某台服务器出现故障时,自动将流量转发至其他健康的服务器,避免单点故障带来的影响。使用Nginx搭建负载均衡能够有效提升系统的可用性和扩展性。通过合理的配置和优化,Nginx不仅可以分担流量,还能确保高效响应。负载均衡在现代Web架构中至关重要,帮助企业应对高并发请求,提升用户体验。希望本文能够为你搭建和维护Nginx负载均衡提供指导和帮助,助力你的应用在高流量场景中稳定运行。
2025-11-07 16:08:25
616
原创 MySQL压缩版安装详细图解
输入mysqld --console 把信息打印到控制台 然后寻找一下信息中有没有出现这几个错误,如果有就继续看下去。如果是不一样的错误的话我相信你已经有新的思路去找问题了。输入netstat -aon|findstr “3306” 去查找占用了3306端口的进程id然后打开任务管理器 到详细找到刚才看到的进程id 结束掉然后运行 net start mysql 就可以运行了。
2025-11-07 15:27:15
697
原创 MySQL 与 Redis 的数据一致性问题
简单来讲,我们只能保证先到的请求的第一阶段写的执行顺序(MySQL 内部的事务),第二阶段写就无法保证执行顺序(除非使用强一致性方案),这时候如果使用更新 Redis 的方案就有数据错误的风险。这种清除 Redis 的策略如果有频繁的更新对导致缓存层(Redis) 会失效, 大量的请求会打到 mysql 上面,mysql 可能直接被打爆,造成严重的事故.这时候Redis 的数据是错误的,会导致后面查询的时候全部查询到错误的数据(只能重新加载 MySQL 数据到 Redis 才能恢复)
2025-11-07 14:46:00
833
原创 Java进阶06List集合&泛型
在内存中不是连续的,每个结点有自己的存储地址,包含其存储的具体数据值和下一个结点的地址。见名知义,单链表即链接方向是单向的,对链表的访问要通过顺序读取从头部开始。**注意:**next()方法每调用一次,迭代器指针会后移一位,就会把不同集合元素的信息拼接到一起打印,为了避免这种信息错乱,增强for循环是JDK5之后出现的,其内部原理就是一个Iterator迭代器,它简化迭代器的代码书写,是迭代器遍历的语法糖。接口中的某个抽象方法确定不了参数的具体类型,就可以声明泛型,让该方法的泛型去匹配接口的泛型。
2025-11-07 14:04:05
932
原创 2024最新版Node.js下载安装及环境配置教程【保姆级】
选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位(1)下载完成后,双击安装包,开始安装Node.js(2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮(3)可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮(4)不选中,直接点击【Next】按钮(5)点击【Install】按钮进行安装(6)安装完毕,点击【Finish】按钮(7)测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口。
2025-11-07 12:14:09
555
原创 Spring Boot项目中解决跨域问题(四种方式)
当一个浏览器的两个tab页中分别打开来自百度和谷歌的页面,当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。有四种方法解决跨域。我们还可以在Network里看到,浏览器在发送我们输入的用户名,密码等数据之前,还发送了一次OPTIONS的请求,这是浏览器自动发送的,为了验证是否允许跨域访问。*,这个在开发测试的时候可以这么设置,但如果是生产环境,建议不要设置成*,最好是允许哪些域名访问就设置哪些,毕竟限制域名还是很有必要的。
2025-11-06 10:58:12
393
原创 Spring Boot环境配置
只要我们在Spring Boot 项目中的 pom.xml 中引入了spring-boot-starter-web依赖,即使不进行任何配置,也可以使用Spring MVC 进行 Web 开发。spring-boot-starter-web是一个依赖库,Spring Boot 是在 Spring 的基础上创建的一个开源框架,它提供了 spring-boot-starter-web (web场景启动器)来为web开发予以支持。选择JDK的安装路径,你可以选择自定义一个路径或者安装至操作系统的默认路径当中。
2025-11-06 10:41:20
834
原创 Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
在 Spring Framework 版本 5.3.0 至 5.3.38 及更早的不受支持版本中,如果应用程序评估了用户提供的 SpEL(Spring Expression Language)表达式,攻击者可以利用特制的表达式导致拒绝服务(DoS)攻击。
2025-11-06 10:14:24
778
原创 Spring Boot + Vue 全栈开发实战指南
随着互联网技术的发展,企业对于快速开发高质量Web应用的需求日益增长。Spring Boot以其轻量级、易配置、快速开发的特点,成为Java后端开发的首选框架。Vue.js以其响应式、组件化的特点,成为前端开发的热门选择。结合两者,我们可以构建出既高效又易维护的全栈应用。在这篇博客中,我们详细探讨了如何使用Spring Boot和Vue.js进行全栈开发项目。从后端的Spring Boot项目搭建、数据库集成、业务逻辑处理到前端的Vue.js项目初始化、组件开发、路由配置等方面都进行了深入的讲解。
2025-11-06 09:47:15
881
原创 MySQL —— 配置文件
本篇文章要介绍的是 MySQL 中的配置文件的相关内容。大多数 MySQL 程序都可以从配置文件(选项文件)中读取启动配置,可以在配置文件中指定常用配置,这样就不用在每次运行程序时都在命令行中输入它们。大部分配置文件都是纯文本格式,可以使用任何编辑器来进行创建。在 Windows 系统中,MySQL 配置文件的后缀名为.ini 或 .cnf,在 Linux 系统中,MySQL 配置文件的后缀名只有.cnf。
2025-11-05 11:12:40
388
原创 Linux下启动redis
①设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行。1:可用安装文件启动:redis-server /etc/redis/6379.conf。使用这种启动方式需要一直打开窗口,不能进行其他操作,按 ctrl + c可以关闭窗口。①将redis自带的脚本复制到指定目录(/etc/init.d/)的redis文件。②修改(/etc/init.d/)redis文件。②指定redis.conf文件启动。③关闭redis进程。
2025-11-05 10:50:14
339
原创 2024最新版Node.js下载安装及环境配置教程【保姆级】
选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位(1)下载完成后,双击安装包,开始安装Node.js(2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮(3)可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮(4)不选中,直接点击【Next】按钮(5)点击【Install】按钮进行安装(6)安装完毕,点击【Finish】按钮(7)测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口。
2025-11-05 09:42:48
487
原创 MySQL 创建新用户及授予权限的完整流程
通过以上步骤,可以创建新用户、授予权限、以及管理和删除用户。合理配置权限,确保每个用户只能访问其所需的数据资源,有助于提高数据库的安全性和管理效率。在MySQL中,权限分为多个级别,包括数据库级、表级和列级权限。可以根据用户的需求授予相应权限,常见权限有SELECT、INSERT、UPDATE、DELETE等。示例:创建一个名为gktask的用户,仅允许从本地主机(localhost)连接,密码设置为123456。以root身份可以查询所有用户,查看当前MySQL中的用户列表。
2025-11-04 12:22:29
406
原创 Java进阶10 IO流
FileReader字符输入流读取纯文本文件时,解决中文乱码问题,就是因为其底层还是有字节数组,如果读取到负数表示的字节数,系统就知道遇到了中文,会一次性拿出三个进行解码。2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字,**注意事项:**关联的文件不存在会抛出FileNotFoundException异常,文件夹的话会拒绝访问。正真和文件建立关联的,还是普通的流对象。将读取到字节,放到传入的数组,返回读取到的有效字节个数。
2025-11-04 11:35:15
787
原创 5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程项目
刷新后,在工程名 + Application的文件中可以启动这个。创建SpringBoot工程,这里有两种方式可选,一种是使用。为了测试是否配置成功,我们创建数据库mybatis。来检查是否连接成功,如下图所示,连接成功。在下方的终端输出可以看出,项目启动在。创建该项目的spring配置文件,在。在下方的终端输出可以看出,项目启动在。是用于简化类开发,修改后,记得更新。,没有修改配置需求时可以不写东西。最后,和自动创建一样,创建一个。等待项目创建完成,修改。自动创建,一种是通过。文件,配置数据库连接。
2025-11-04 10:48:04
313
原创 SQL中如何添加数据
INSERT INTO e_student SET id = 2, name = ‘李四’, age = 8, grade = ‘三年级’;| 1 | 张三 | 6 | 一年级 || 1 | 张三 | 6 | 一年级 || 1 | 张三 | 6 | 一年级 || 2 | 李四 | 8 | 三年级 || 1 | 张三 | 6 | 一年级 || 2 | 李四 | 8 | 三年级 || 2 | 李四 | 8 | 三年级 |
2025-11-03 13:34:11
866
原创 SpringCloud 整合 Dubbo
Dubbo有两种使用方式:1、基于SOA的思想,将一个单体架构拆分为web层和Services层,然后web和services借助Dubbo框架进行数据交互。2、SpringCloud 整合Dubbo。这篇博客所要介绍的就是第二种。首先我们要想,为什么SpringCloud 要整合Dubbo在SpringCloud中会有多个微服务,不同的微服务访问一样的数据库,每个微服务都需要进行服务注册和服务发现,这个时候就要用到注册中心Nacos。
2025-11-03 12:47:15
972
原创 SpringBoot 与 SpringCloud的版本对应详细版
spring cloud各个版本之间是有所区别的,比如在SpringCloud中,1.X和2.X版本在pom.xml中引入的jar包名字都不一样,比如有的叫spirng-cloud-starter-hystrix 有的叫spring-cloud-netflix-hystrix,维护起来会比较困难。spring-cloud-starter-netflix-xx 替换了原有的 spring-cloud-starter-xx(此处如有不正确请指出)关于spring cloud1.x版本和2.x版本区别。
2025-11-03 12:01:29
456
原创 Spring Boot 3.x 系列【3】Spring Initializr快速创建Spring Boot项目
本篇主要介绍使用快速创建一个项目以及工程结构说明。
2025-11-03 11:15:30
977
原创 PHP进阶-在Ubuntu上搭建LAMP环境教程
本文将为您提供一个在Ubuntu服务器上搭建LAMP(Linux, Apache, MySQL, PHP)环境的完整指南。通过本文,您将学习如何安装和配置Apache、MySQL、PHP,并将您的PHP项目部署到服务器上。本文适用于Ubuntu 20.04及更高版本。
2025-11-03 10:29:32
527
原创 MySQL输入密码后闪退?
在服务列表中,找到以“MySQL”开头的服务(例如,MySQL、MySQL56、MySQL57、MySQL80等,具体名称取决于你的MySQL版本和安装方式)。有时候,default-character-set=gbk这样的设置可能会导致问题,你可以尝试将其注释掉或删除,然后重启MySQL服务。②修改SQL语法:如果你不想改变MySQL的版本,那么你可以尝试修改SQL查询语句,确保它们符合目标MySQL服务器的语法要求。如果MySQL服务已启动并且你输入了正确的密码,你应该能够成功连接到MySQL服务器。
2025-11-03 09:44:01
235
原创 MySQL-递归查询
举一反三,则查询id为12的所有父节点信息的就是从下至上的递归查询,SQL如下所示。这里其实还有另一种利用mybatis的collection子查询的写法,一笔带过。我们先来看看从上至下的递归查询的SQL语句,查询id为1的节点的所有子节点。这里的classpath指的是当前节点的路径,后续说明其作用。查询分类id为12的所有父级分类信息。1、查询指定id的分类节点的所有。2、查询指定id的分类节点的所有。查询id为12的父级分类信息。查询分类id为6的分类信息。查询id为6的分类信息。
2025-11-03 08:52:19
415
原创 Spring详解
以上就是今天要讲的内容,本文仅仅简单介绍了使用set方法注入属性的使用,set方法是较为常用的方法,除了set方法还有构造法和工厂方法注入属性。
2025-11-02 12:08:00
337
原创 SpringCloud-持久层框架MyBatis Plus的使用与原理详解
MyBatis 是一个优秀的 ORM 框架,它通过 XML 或注解的方式将 Java 方法与 SQL 语句进行映射,并且可以灵活地控制 SQL 执行的各个细节,提供极高的自由度。它广泛应用于项目中,尤其是在对 SQL 语句要求比较严格的场景中。MyBatis Plus 是在 MyBatis 的基础上进行增强的持久层框架,专注于简化 MyBatis 的开发工作。它封装了常用的 CRUD 操作,极大地减少了开发者编写 SQL 的工作量。其目标是“更少的配置,更多的功能”,通过插件机制提供更强大的功能扩展。
2025-11-02 11:44:32
914
原创 Springboot报错:Lombok annotation handler class lombok.javac.handlers.HandleData failed on Dxx.java
我发现不同模块之间,pom里面写的lombok版本号并不相同,因此想通过修改子模块中pom.xml中的版本号与其他版本号一致,来改掉这个问题。在我重复clean compile install了,并且关了IDEA重启了无数遍以后(这个方法确实有时候是有用的,也不妨试试,全靠运气)我没听,因为那个模块是别人写的,而且有很多个地方都写了@Data,我想:要改岂不是全都要改了?拉了别人一整个大项目的代码,项目里有很多个模块,因为期间互相依赖,所以需要分别启动每个模块的服务。事实证明,不要怕麻烦!
2025-11-02 11:21:37
291
原创 springboot 文件下载
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。当然,在出现错误时,我在想是不是application/octet-stream的问题,也使用过multipart/form-data,但也是一样的结果。在springboot中,执行如下代码实现文件下载。找了很久的解决方法,但是没有发现什么正确的答案。
2025-11-02 10:57:02
322
原创 Spring Cloud GateWay搭建
注册中心,常用的有:Eureka、Consul、Zookeeper、Nacos,此处要明白一点是注册中心本身就是一个服务,所以对注册中心而言,不仅仅局限于java编写的,也存在于是其他语言编写,本质是一个server软件,只需要满足注册中心的功能即可。注册中心服务已启动完毕,接下来启动两个微服务作为注册中的client。针对两个服务各自创建两个控制层接口,顺便在配置文件中定义下服务的请求上下文路径。简单搭建一个,有注册中心,两个微服务,一个网关的组成的微服务架构。此时证明我们的注册中心服务以启动完毕!
2025-11-02 10:33:54
302
原创 Spring Boot 从 2.7.x 升级到 3.3注意事项
从 Spring Boot 2.7.x 升级到 3.3 是一个涉及较多变动的过程,特别是迁移到 Jakarta EE 和 JDK 17。项目在 JDK 17 上正常运行。所有javax.*包改为jakarta.*。更新 Spring 依赖和第三方库以支持 Jakarta EE 9。仔细检查配置文件和日志,处理废弃 API。
2025-11-02 10:10:20
525
原创 Redis为什么这么快?Redis的线程模型与Redis多线程
多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,然后程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。在redis的多线程模式下,获取、解析命令,以及输出结果着两个过程,可以配置成多线程执行的,因为它毕竟是我们定位到的主要耗时点,但是命令的执行,也就是内存操作,依然是单线程运行的。
2025-11-02 09:46:44
704
原创 Plugin ‘org.springframework.bootspring-boot-maven-plugin‘ not found(已解决)
(存放maven的路径)apache-maven-3.9.6maven-repoorgspringframeworkootspring-boot-maven-plugin。找不到插件,本文问题出现是因为缺少版本描述(可以先观察自己的pom.xml文件中spring-boot-maven-plugin下面有没有版本号)可以看到spring-boot-maven-plugin的版本号为3.3.1(查看自己电脑的)查看maven的仓库是否存在spring-boot-maven-plugin。
2025-11-02 05:22:05
212
原创 Nginx搭建负载均衡
负载均衡是将用户请求分发到多台服务器的一种技术,确保多个服务器共同承担负载,从而提升应用的可用性与响应速度。通过负载均衡,系统能够在某台服务器出现故障时,自动将流量转发至其他健康的服务器,避免单点故障带来的影响。使用Nginx搭建负载均衡能够有效提升系统的可用性和扩展性。通过合理的配置和优化,Nginx不仅可以分担流量,还能确保高效响应。负载均衡在现代Web架构中至关重要,帮助企业应对高并发请求,提升用户体验。希望本文能够为你搭建和维护Nginx负载均衡提供指导和帮助,助力你的应用在高流量场景中稳定运行。
2025-11-02 04:57:58
796
1
原创 MySQL远程连接错误解决:“Host is not allowed to connect to this MySQL server”详解
用户的host字段(或其他需要远程访问的用户),允许任意远程主机(用 ‘%’ 表示)进行连接,但这一步可能涉及到安全风险,建议只针对需要远程访问的特定用户设置具体的远程IP地址,而不是使用通配符。通过远程客户端访问MySQL服务器时会遇到“Host is not allowed to connect to this MySQL server”的错误提示。确保服务器的防火墙规则允许MySQL服务端口(默认为3306)上的入站流量。或者指定的公网IP地址以接受远程连接。),确保没有禁止远程连接的相关设置,
2025-11-02 04:33:48
152
原创 MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
mysql中内置函数date_add 和 date_sub能对指定的时间进行增加或减少一个指定的时间间隔,返回的是一个日期。
2025-11-02 04:10:11
329
原创 MySQL-触发器(TRIGGER)
例如,对于一张数据表,不能同时有两个 BEFORE UPDATE 触发器,但可以有一个 BEFORE UPDATE 触发器和一个 BEFORE INSERT 触发器,或一个 BEFORE UPDATE 触发器和一个 AFTER UPDATE 触发器。BEFORE 和 AFTER,触发器被触发的时刻,表示触发器是在激活它的语句之前或之后触发。现在触发器还只支持行级触发,不支持语句级触发。注意:当触发器设计对触发表自身的更新操作时,只能使用 BEFORE 类型的触发器,AFTER 类型的触发器将不被允许。
2025-11-02 03:45:51
955
原创 MySQL SQL100道基础练习题
select * from newtable where gz > (select max(gz) from newtable where dept_id = (select id from dept where dept_name = ‘财务部’));select name,(select dept_name from dept where id = dept_id) as ‘职位’,gz from newtable where name in (‘黄语焉’,‘李嘉欣’);
2025-11-02 03:21:11
330
原创 Linux 下安装 Golang环境
原文链接:https://blog.csdn.net/super_xyo/article/details/128210788。go modules 模式下,可以不配置GOPATH,默认【/root/go】国内镜像官网:https://golang.google.cn/如果之前已经安装过go的版本,先清空下go,不然可能会报错误。6. 查看golang版本,测试是否配置成功。标准官网:https://go.dev/Linux 下安装 Golang。获取Golang下载地址。获取Golang下载地址。
2025-11-02 02:56:21
176
原创 clickhouse-介绍、安装、数据类型、sql
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。
2025-11-02 02:31:20
673
原创 2024最新版Node.js下载安装及环境配置教程【保姆级】
选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位(1)下载完成后,双击安装包,开始安装Node.js(2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮(3)可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮(4)不选中,直接点击【Next】按钮(5)点击【Install】按钮进行安装(6)安装完毕,点击【Finish】按钮(7)测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口。
2025-11-01 18:53:42
634
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅