自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 Spring Boot + Spring AI快速体验

Spring AI是Spring的一个子项目,是Spring专门面向于AI的应用框架。Spring AI 项目旨在简化整合人工智能功能的应用程序开发,避免不必要的复杂性。汲取了著名的 Python 项目 LangChain 和 LlamaIndex 的灵感,但 Spring AI 并不是这些项目的直接移植。该项目的成立的信念:下一波生成式人工智能应用程序不仅将面向Python开发人员,而且将在许多编程语言中无处不在。@Bean。

2026-04-04 05:15:24 307

原创 mysql占用内存过大问题排查

这个参数决定了 InnoDB 存储引擎缓冲池的大小,它会占用大量内存。#如果数据库中有非常大的表,可能会占用大量内存,过多或不合理的索引也可能导致内存占用增加。如果有长时间运行的复杂查询或者大量未优化的查询,可能会占用大量内存。通过以上步骤的排查,可以找出 MySQL 占用内存过高的原因,并采取相应的措施进行优化。

2026-04-04 02:15:39 257

原创 SpringBoot 使用 spring.profiles.active 来区分不同环境配置

很多时候,我们项目在开发环境和生产环境的配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境,我们要用生产数据库,这时候,我们可以利用 profile 在不同的环境下配置用不同的配置文件或者不同的配置。

2026-04-02 07:16:29 354

原创 node.js内置模块之---crypto 模块

在 Node.js 中,crypto模块提供了多种加密功能,包括哈希、对称加密、非对称加密和数字签名等。通过crypto模块,可以进行各种加密和解密操作,保护敏感数据的安全性。

2026-04-02 03:59:49 146

原创 Linux系统下安装配置Nginx(保姆级教程)

需要在服务器上部署项目,用Nginx反向代理前端代码,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

2026-04-02 00:42:38 343

原创 FrankenPHP实践

它实际上是有两种运行模式:普通模式和worker模式,其中的普通模式类似于传统的LNMP容器,只是Nginx换成了Caddy Server,带来的提升并不特别明显。如果自建镜像扩展插件,需三思是否需要加Opcache,开启后 frankenphp 的watch功能(监控文件修改自动热启)将不能正常使用,但开启后,性能将提高40%左右。Frankenphp是一个先进的,结合了高性能Caddy服务器的PHP。,它允许用户只需要少量改动,就能让传统的php前端应用插上翅膀,享受到。

2026-04-01 22:55:39 340

原创 远程访问mysql数据库的正确打开方式

为了安全,mysql数据库默认只能本机登录,但是在有些时候,我们会有远程登录mysql数据库的需求,这时候应该怎么办呢?远程访问mysql数据,需要两个条件:首先需要mysql服务器将服务绑定到0.0.0.0ip地址,这样才能允许远程机器登录,否则从网络层面就是不允许远程访问的。其次需要在数据库里放开登录用户的远程访问权限,一般放开访问者的单个源ip地址,也可以全放开。当然全放开不如只放开单个ip安全。

2026-04-01 20:48:15 161

原创 总结 Spring 注入 bean 的四种方式

一提到Spring,大家最先想到的是啥?是AOP和IOC的两大特性?是Spring中Bean的初始化流程?还是基于Spring的全家桶呢?今天我们就从Spring的IOC特性入手,聊一聊Spring中把Bean注入Spring容器的几种方式。我们先来简单了解下IOCIOC即控制反转,也称为依赖注入,是指将对象的创建或者依赖关系的引用从具体的对象控制转为框架或者IOC容器来完成,也就是依赖对象的获得被反转了。可以简单理解为原来由我们来创建对象,现在由Spring来创建并控制对象。

2026-04-01 19:29:20 348

原创 全面解读 Databricks:从架构、引擎到优化策略

Databricks 是一个基于云的统一分析平台,旨在解决企业在大数据处理、数据仓与数据湖融合、实时分析与机器学习上的诸多挑战。通过高度整合的计算引擎、存储层以及可扩展的生态体系,Databricks 帮助企业快速搭建现代数据分析和机器学习架构。全托管云平台:减少基础设施运维成本,自动扩容、弹性计算。协作环境:支持 Notebook、Job 调度和版本控制,多团队可并行开发、测试和部署。混合架构:统一数据湖和数据仓(Lakehouse),简化数据处理链路。可扩展的生态。

2026-04-01 05:25:49 331

原创 Webpack、Vite区别知多少?

相反,Vite只需要对源码进行预编译和打包,将每个模块作为一个独立的文件进行加载,这样在开发过程中的冷启动时间更快。,它可以将各种类型的文件,如JavaScript、CSS、图片等,作为模块进行打包,并生成最终的静态资源文件。,它利用浏览器原生的ES模块机制,将每个模块作为一个独立的请求来加载,而不是像Webpack那样把所有模块打包成一个文件。,因为需要将所有的模块进行打包。Vite通过利用ES模块的特性,在开发过程中仅对需要的模块进行编译和构建,从而提升了开发服务器的启动速度。

2026-04-01 02:20:46 234

原创 SpringBoot + vue 管理系统

我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了后台。这是不安全的,所以要做登录认证。最终我们要实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。(14,‘zhangsanfeng’,‘123456’,‘张三丰’,1,‘14.jpg’,2,‘2002-08-01’,2,now(),now()),(16,‘songyuanqiao’,‘123456’,‘宋远桥’,1,‘16.jpg’,2,‘2007-01-01’,2,now(),now()),

2026-03-31 05:39:46 201

原创 Nginx权限问题详解及解决方案

在运行Nginx服务器时,权限问题是一个常见的困扰,尤其是在Linux环境下。权限配置不当可能导致Nginx无法启动、无法访问某些目录或文件,甚至影响到网站的正常运行。本文将深入探讨Nginx权限问题的原因,并提供有效的解决方案。Nginx在运行时,会以指定的用户身份执行。默认情况下,Nginx使用nginx用户(或www-data用户在某些系统中)运行。如果Nginx尝试访问的文件或目录的权限设置不正确,或者Nginx运行的用户没有足够的权限,就会出现权限问题。

2026-03-31 02:26:45 208

原创 macOS安装Redis

本指南告诉你如何使用Homebrew在macOS上安装Redis。Homebrew 是在 macOS 上安装 Redis 的最简单方法。首先,确保你已经安装了Homebrew。在终端上,运行如果你这个命令失败了,你就需要安装Homebrew。

2026-03-30 11:38:59 29

原创 Java进阶-SPI机制

在主键版本中没有web.xml文件,springmvc如何通过继承AbstractAnnotationConfigDispatcherServletInitializer来启动SpringMVC?这就需要通过SPI机制来解决。先放一下大致思路:tomcat启动时会运行实现了servlet规范接口的实现类,而spring就是用类实现了该规范,因此执行时会实例化以达到启动mvc,另外在该类上有注解来实现mvc相关配置的加载,加载实现了的类。

2026-03-30 10:51:51 164

原创 Elasticsearch(ES)基础查询语法的使用

在 Elasticsearch 中,**聚合(Aggregation)**是一个强大的功能,用于对查询结果进行分组、统计、度量等操作。聚合查询不仅可以按字段进行分组,还可以进行计算(如求和、平均值等),在数据分析和可视化中非常有用。在 Elasticsearch 中,聚合查询并不返回实际的文档,而是返回聚合结果,例如每个分组的文档数量、平均值、最大值等。聚合查询不仅可以进行单一聚合,还可以进行嵌套聚合,即在一个聚合的结果上进行进一步的聚合。的字段,你想按类别进行分组查询,统计每个类别的文档数量。

2026-03-30 10:04:56 400

原创 Python中的简单爬虫

又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来. 就像一只虫子在一幢楼里不知疲倦地爬来爬去.你可以简单地想象每个爬虫都是你的「分身」。就像孙悟空拔了一撮汗毛,吹出一堆猴子一样****其实就是利用了这种爬虫技术, 每天放出无数爬虫到各个网站,把他们的信息抓回来,然后化好淡妆排着小队等你来检索。

2026-03-30 06:19:51 624

原创 MySQL Join 的原理与优化实践

算法适用场景优点缺点内层表有索引查询高效,减少内层扫描行数依赖索引,外层表仍需扫描所有行无索引,小数据量简单实现,适合小型数据集内层表全表扫描,效率较低无索引,大数据量缓冲区减少扫描次数依赖内存大小,耗内存场景Join 是否必要推荐方案汇总查询(无关联需求)不必要使用单表查询或子查询优化,避免多余 Join。多表关联查询必要若数据量较大,优先使用子查询减少扫描行数;若数据量小,直接 Join 效率更高。

2026-03-30 02:47:13 403

原创 【JAVA进阶篇教学】第十一篇:Java中ReentrantLock锁讲解

博主打算从0-1讲解下篇教学,今天教学第十篇:Java中ReentrantLock锁讲解。在Java并发编程中,保证多线程环境下的数据安全是至关重要的。ReentrantLock 是Java中用于实现线程安全的一种锁机制。本篇博客将深入介绍 ReentrantLock 的原理、详细说明,并通过案例演示线程不安全情况以及如何使用 ReentrantLock 实现线程安全。

2026-03-28 12:16:15 214

原创 SpringBoot + vue 管理系统

我们已经实现了部门管理、员工管理的基本功能,但是大家会发现,我们并没有登录,就直接访问到了后台。这是不安全的,所以要做登录认证。最终我们要实现的效果就是用户必须登录之后,才可以访问后台系统中的功能。(14,‘zhangsanfeng’,‘123456’,‘张三丰’,1,‘14.jpg’,2,‘2002-08-01’,2,now(),now()),(16,‘songyuanqiao’,‘123456’,‘宋远桥’,1,‘16.jpg’,2,‘2007-01-01’,2,now(),now()),

2026-03-28 08:07:54 270

原创 Nginx 之Rewrite 使用详解

Nginx 的rewrite模块是处理 HTTP 请求过程中的一个重要功能,它允许基于 Perl 兼容正则表达式(PCRE)对用户请求的 URI 进行重写,并返回 30x 重定向跳转或按条件执行相关配置。这个模块提供了灵活的 URL 重写和重定向功能,可以用于实现友好 URL、301/302 重定向、条件重写等。

2026-03-27 13:06:48 200

原创 IDEA+Docker一键部署项目SpringBoot项目

接着需要编写一个用于定义和构建 Docker 镜像的文本文件,文件名为 Dockerfile,Dockerfile 中的配置可根据自身项目情况进行调整。在设置中找到 Docker,点击 +,选择以 SSH 方法连接到 Docker 守护进程,接着点击下拉列表,选择刚才创建的 SSH 配置。如果你点击小三角后部署失败,并且 IDEA 给出了以下提示,可能是因为 SSH 配置中的用户并没有连接 Docker 的权限。点击 +,创建一个新的 SSH 连接,填入主机、用户名和密码后点击测试连接。

2026-03-27 09:01:41 254

原创 springboot整合最新版minio和minio的安装(完整教程,新人必看)

下面是老版的操作。

2026-03-26 13:36:37 318

原创 SpringBoot 3.x 整合swagger

对于SpringBoot而言,Swagger的作用是通过后端SpringBoot代码快速生成接口文档,方便测试接口以及前端使用。

2026-03-26 12:41:52 323

原创 Spring Boot中集成MyBatis操作数据库详细教程

在Java开发中,MyBatis是一款轻量级且灵活的持久层框架,支持SQL语句和自定义映射,尤其适合需要复杂SQL操作的应用场景。结合Spring Boot,我们可以更加方便地使用MyBatis进行数据操作。本篇文章将手把手地介绍如何在Spring Boot项目中集成MyBatis,并实现基础的增删改查操作。我们会从依赖配置开始,到实体类、Mapper接口、Service和Controller的创建,最终形成一个简洁易用的应用结构。在包中创建。

2026-03-26 11:46:38 420

原创 Nginx 请求超时

请求超时是指服务器在接收到客户端请求后,未能在规定的时间内完成该请求的处理,导致请求被中止或失败。客户端请求超时:客户端发起请求后等待响应的时间超过了 Nginx 配置的超时时间。Nginx 与后端服务的通信超时:当 Nginx 作为反向代理服务器时,它需要与后端应用服务器(如 PHP、Node.js、Tomcat 等)进行通信。如果后端响应迟缓或未及时响应,可能会导致请求超时。Nginx 自身处理请求的超时:当 Nginx 自身的处理时间过长,未能在指定的时间内完成请求时,也会发生超时。

2026-03-26 04:24:02 311

原创 Java进阶 主键和外键的使用区别

主键,primary key:是被挑选出来,作表的惟一标识的候选关键字,一个表只有一个主键。比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。注意,主键可以是一个字段,也可以是多个字段组合成的多字段联合主键#将name和deptId字段组合成为表temp的多字段组合主键外键:外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。

2026-03-26 01:18:26 32

原创 SpringDoc和Swagger使用

Swagger和Springdoc是两个常用的工具,用于生成和维护API文档,特别是针对基于REST的Web服务。它们有效地提升了API的可读性和可维护性,帮助开发者、产品经理和其他利益相关者更好地理解和使用所提供的API。注意:Swagger支持springboot2.0但不支持springboot3.0。

2026-03-25 23:51:29 323

原创 springboot之集成Elasticsearch

网上 springboot 集成 Elasticsearch 的文章很多,但随着 springboot 和 Elasticsearch 版本的不断升级,绝大多数文章使用的集成方式和调用的方法已经过时,几乎找不到能真正适用最新 springboot 版本和最新 Elasticsearch 版本的文章。本文正是基于最新 springboot 版本和最新 Elasticsearch 版本实现了集成。

2026-03-25 23:07:41 269

原创 Spring 多实例注入

Spring 容器中保存的 bean 默认是单例的,通常来说这样做可以降低 bean 对象创建的频率,在某些访问量大的场景下可以节省对象创建消耗的时间,提高响应性能。但在一些其他场景,比如脚本调度处理多个消息队列中的消息,这时候拉取各个队列消息的步骤是完全相同的,只不过各条队列的名称和密码不一样,显然可以使用一个专门的。自动注入无法保证每次获取的都是新的实例,一个解决方法是通过 Spring 的。,这样每次从 Spring 容器中获取其实例的时候都会返回一个新的对象。指定类的代理模式,这样使用注解。

2026-03-25 22:23:21 329

原创 Redis安装教程(超详细)

解决办法:1、改为2、将改为3、设置redis秘密,注意如果不行,可以尝试重启服务器试试设置密码后登陆需要如下图操作OK。

2026-03-25 15:55:25 342

原创 Node.js HTTP模块详解:创建服务器、响应请求与客户端请求

MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展)类型,也称为媒体类型,是一种标准,用于定义文件的格式和类型。这些方法提供了控制 HTTP 响应的灵活性,允许开发者根据需要发送不同类型的响应。模块发送不同类型的HTTP请求,包括基本的GET请求、POST请求、发送JSON数据、处理GET参数和自动处理重定向。请求头字段可以包含客户端能够处理的MIME类型列表,这允许服务器根据客户端的能力返回合适的数据格式。:表示服务器在处理请求的过程中发生了错误。

2026-03-25 14:41:07 198

原创 快速在本地运行SpringBoot项目的流程介绍

本篇文字的内容可能十分小众,主要针对于有其他人的开源的SpringBoot项目,需要在本地上运行的uu,会给大家介绍一下SpringBoot项目启动的流程,以及我初次接触SpringBoot项目启动时遇到的问题。没错,我就经历了这个很小众的过程。虽然一般这种项目都会带有.md文件,但是毕竟是人家的开源项目,.md文件只会告诉你大致的流程,不会手把手教你,对于没有基础,但又由于某些原因需要运行SpringBoot项目的uu来说,那可太折磨人了,一点点的小问题就可能会折磨你好久。话不多说,进入正题。

2026-03-24 23:55:52 367

原创 Windows 上彻底卸载 Node.js

电脑环境混乱,记录一下完整卸载的过程。

2026-03-24 13:34:22 25

原创 springboot设置多环境配置文件

实际开发过程中会涉及多个环境,比如dev(开发环境),test(测试环境),prod(线上环境),不同环境下,端口号、数据库地址、redis地址等等会不尽相同,为了避免每次上线到不同环境都要修改配置文件可以在项目中配置多个配置文件,需要哪个激活哪个。激活的是dev环境,所以项目启动时会读取application-dev.yml,使用的是8081的端口号。激活的是prod,此时读的是profile: profile的块,所以端口号是8087。1、在配置文件中激活,上面的实例就是使用的这种方式。

2026-03-24 02:15:48 227

原创 Spring.factories

在 Spring Boot 项目中,怎样将 pom.xml 文件里面添加的依赖中的 bean 注册到 Spring Boot 项目的 Spring 容器中呢?你可能会首先想到使用@ComponentScan 注解,遗憾的是 @ComponentScan 注解只能扫描 Spring Boot 项目包内的 bean 并注册到 Spring 容器中,项目依赖包中的 bean 不会被扫描和注册。此时,我们需要使用 @EnableAutoConfiguration 注解来注册项目依赖包中的 bean。

2026-03-23 16:44:09 178

原创 Spring Cloud Alibaba 组件版本选择

如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应变化)如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容。2.0.4.RELEASE(停止维护,建议升级)

2026-03-23 16:11:10 316

原创 Spring Boot 整合 log4j2 日志配置教程

在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。

2026-03-23 15:38:20 388

原创 Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider

在搭建过程中,最开始的工作是从查阅相关资料开始的,通过在互联网的共享单车数据分析与辅助管理系统资料查询和阅读,对整个共享单车数据分析与辅助管理系统有了整体的概念了解,然后对本共享单车数据分析与辅助管理系统进行分析设计,本次共享单车数据分析与辅助管理系统的诉求是实现用户的基本需求,所以在设计时,整个系统功能模块十分简洁,系统为管理员和用户二大结构模块。在系统具体实现过程中,先把系统数据库搭建,然后进行功能模块的代码编译,最后将所有模块进行整合,形成完整的共享单车数据分析与辅助管理系统。

2026-03-23 10:27:41 295

原创 mybatis plus打印sql日志

首先,我们需要创建一个实现了接口的类,该类会将所有原本打算以DEBUG级别记录的日志改为以INFO级别记录。

2026-03-23 02:35:43 249

原创 如何使用C#与SQL Server数据库进行交互

3.对应项目,系统添加数据库连接。3. 数据查询:通过点击按钮,应用程序能够查询并显示student表中的所有数据,使用户可以轻松地查看数据库中存储的信息。2. 数据插入:点击相应按钮可以将预设的学生信息插入到数据库的student表中,这提供了一种简单的数据录入方式。1. 数据库连接与测试:通过点击按钮可以测试与数据库的连接,确保应用程序能够成功连接到本地数据库XSCJDB。4. 按姓名查询:应用程序还提供了按姓名查询学生数据的功能,用户只需输入学生姓名,即可获取相应的学生信息。

2026-03-22 12:16:20 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除