自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Cache @Cacheable:提升应用性能的利器

Spring Cache 是 Spring 框架提供的抽象层,用于简化缓存的使用。它提供了一组注解和接口,使得开发者可以轻松地集成不同的缓存解决方案(如Ehcache、Caffeine、Redis等),而不必关心底层的具体实现细节。缓存管理器(CacheManager):负责管理缓存实例。缓存(Cache):实际存储缓存数据的容器。缓存注解:如@Cacheable、@CachePut、@CacheEvict等,用于定义缓存的行为。

2025-02-12 16:13:44 732

原创 Java CompletableFuture:异步编程的利器

CompletableFuture 是 Java 8 提供的一个类,用于处理异步任务的结果。它扩展了 Future 接口,并添加了许多新的方法来支持链式调用、任务组合和异常处理等功能。与传统的 Future 不同,CompletableFuture 提供了一种非阻塞的方式来获取异步任务的结果,并且可以方便地进行任务的串联和并行执行。默认情况下,CompletableFuture 使用 ForkJoinPool.commonPool() 来执行异步任务。

2025-02-10 14:33:56 556

原创 MySQL 存储函数:数据库的自定义函数

存储函数是一组预编译的SQL语句,它们被保存在数据库中,并且可以通过调用该函数来执行这些语句。与存储过程不同的是,存储函数必须返回一个单一的结果值。这使得它们非常适合用于执行复杂的计算或查询,并将结果返回给调用者。预编译: 存储函数在创建时会被编译成可执行代码,这使得存储函数的执行速度比普通的 SQL 语句更快。存储在数据库服务器:存储函数代码存储在数据库服务器端,避免了客户端和服务器之间传输大量的 SQL 语句,减少了网络开销。通过名称调用:存储函数可以通过名称来调用,方便代码的复用。返回值。

2025-01-26 15:35:11 1121

原创 MySQL 中的递归查询:实现与优化

递归查询是指在一个查询过程中引用自身结果集的操作。例如,在一个表示员工及其直接下属的关系表中,如果想要获取某位经理的所有直接和间接下属,就需要用到递归查询。传统的做法可能是通过循环或多次联接来实现这一目的,但这样不仅代码复杂度高,而且执行效率低下。而递归CTE则提供了一种简洁且高效的解决方案。

2025-01-24 16:23:12 950

原创 Spring Boot 后端跨域解决方案:解锁前后端通信的障碍

跨域是指一个网页通过JavaScript发起请求到与该页面所在的服务器不同的域名、协议或端口。由于浏览器的安全机制,通常不允许这样的操作,除非目标服务器明确允许这些跨域请求。

2025-01-24 15:00:51 1633

原创 Spring Boot WebMvcConfigurer:定制你的 Web 应用

WebMvcConfigurer是Spring Framework提供的一个接口,旨在为开发者提供一系列钩子(hooks),以便于对Spring MVC的行为进行定制化调整。通过实现该接口并重写其中的方法,您可以轻松地配置静态资源处理、视图解析、路径匹配规则、跨域资源共享(CORS)等特性,而不必创建完整的WebMvcConfigurationSupport类。关键方法概览:用于添加或修改CORS映射,从而控制哪些来源可以访问您的API。

2025-01-24 11:02:16 1746

原创 Spring Boot 事件驱动:构建灵活可扩展的应用

}} }} }

2025-01-22 16:08:54 1132

原创 Spring Boot 中的 InitializingBean:Bean 初始化背后的故事

是 Spring 框架提供的一个接口,它允许 Bean 在初始化阶段执行自定义逻辑。当 Spring 容器完成 Bean 的属性注入后,会调用接口的方法。资源初始化:加载配置文件、初始化缓存、建立数据库连接等。状态初始化:设置 Bean 的初始状态,例如标志位、计数器等。依赖检查:验证依赖的 Bean 是否可用。自定义初始化:执行其他需要在 Bean 初始化完成后执行的操作。

2025-01-21 18:24:33 1181

原创 ApplicationContextAware:Bean 的“上下文感知”超能力

  在 Spring Boot 的世界中,我们依赖依赖注入(DI)来管理 Bean 之间的关系。然而,有时我们需要 Bean 直接访问 Spring 应用上下文(ApplicationContext)来执行一些特殊操作。这时,ApplicationContextAware 接口就派上了用场。本文将深入探讨 ApplicationContextAware 在 Spring Boot 中的应用,揭示其工作原理,并分享一些最佳实践。  

2025-01-21 17:20:31 832

原创 MyBatis Plus 的 InnerInterceptor:更轻量级的 SQL 拦截器

在 Spring Boot 项目中使用 MyBatis Plus 时,你可能会遇到 InnerInterceptor 这个概念。InnerInterceptor 是 MyBatis Plus 提供的一种轻量级 SQL 拦截器,它与传统的 MyBatis 拦截器(Interceptor)有所不同,具有更简单、更高效的特点,并且更专注于 SQL 执行层面的拦截。本文将详细介绍 InnerInterceptor 的原理、用法和最佳实践,并提供代码示例。

2025-01-21 11:28:02 1017

原创 JSqlParser:Java SQL 解析利器

在开发涉及数据库操作的应用程序时,我们常常需要对SQL语句进行解析、分析和处理。例如,我们需要提取SQL语句中的表名、字段名、条件表达式等信息,或者需要对SQL语句进行修改、优化等操作。手动编写SQL解析器既耗时又容易出错,这时候,一个强大的SQL解析器就显得尤为重要。

2025-01-20 15:06:01 1344

原创 MyBatis MetaObjectHandler: 优雅地统一处理实体类字段

在现代 Web 应用开发中,我们经常需要在数据库表中记录数据的创建时间、创建者、更新时间和更新者信息,这些字段(通常是 createTime、createBy、updateTime 和 updateBy)在很多实体类中都需要存在。如果每次都手动设置这些字段,不仅会产生大量的重复代码,还会降低开发效率,更可能导致数据不一致。MyBatis 提供了一个强大的接口 MetaObjectHandler,可以帮助我们优雅地统一处理这些字段,让代码更加简洁、易维护。

2025-01-17 16:46:04 509

原创 Spring Boot 整合 Knife4j:打造更优雅的 API 文档

在现代 Web 应用开发中,API 文档的重要性不言而喻。清晰、准确、易用的 API 文档不仅可以方便开发者理解和使用 API,还能提高团队协作效率。Knife4j 是一个基于 Swagger 的增强型 API 文档工具,它可以为 Spring Boot 项目生成美观、易于交互的 API 文档,本文将介绍如何在 Spring Boot 项目中整合 Knife4j,并提供详细的代码示例和最佳实践。

2025-01-17 15:28:10 1015

原创 Spring Boot 整合 Redis:提升应用性能的利器

Redis (Remote Dictionary Server) 是一款高性能的键值对存储数据库,它以内存存储为主,具有速度快、支持丰富的数据类型等特点,被广泛应用于缓存、会话管理、排行榜等场景。Spring Boot 提供了对 Redis 的良好支持,使得我们可以轻松地在 Spring Boot 项目中集成 Redis,从而提升应用的性能和可扩展性。本文将详细介绍如何在 Spring Boot 项目中整合 Redis,并提供完整的代码示例和最佳实践。

2025-01-16 21:25:44 1173 2

原创 Spring Boot 统一返回数据格式

ApiModel("响应结果")@Data/*** code*/@ApiModelProperty(value = "响应代码")/*** message*/@ApiModelProperty(value = "响应消息")/*** data*/@ApiModelProperty(value = "数据结果")if (status!= null) {/***//*** 返回错误消息* @return*/

2025-01-16 20:16:39 714

原创 Spring Boot 整合 PageHelper 实现分页功能

在开发 Web 应用时,分页功能几乎是必不可少的。Spring Boot 提供了强大的功能来简化开发,而 PageHelper 则是一个优秀的 MyBatis 分页插件,可以极大地简化分页查询的代码。本文将介绍如何在 Spring Boot 项目中整合 PageHelper,并提供完整的代码示例和最佳实践。

2025-01-16 18:26:37 439

原创 Spring Boot 全局异常处理

首先,我们可以定义一些自定义异常类,用于表示业务上的异常,比如用户不存在,参数错误等。

2025-01-16 17:26:52 1101

原创 使用Java代码操作Linux系统(JSCH库)

JSch是一个纯Java实现的SSH2客户端库,它允许Java程序通过SSH协议安全地连接到远程服务器并执行多种操作,如文件传输、端口转发、远程命令执行等。JSch库的优势在于其纯Java的实现,这意味着它可以在任何支持Java的平台上无缝运行,且不依赖于任何第三方插件。它小巧、高效,具备强大的功能和良好的社区支持。

2024-11-18 14:30:51 263

原创 记一次生产上一台BE节点磁盘爆满的问题

磁盘上暴涨的是BE的数据存储目录storage,首先需要下线磁盘爆满的那台节点,进行磁盘清理然后再上线该节点。1.由于条件比较苛刻,目前只有3台节点,但是建表的时候也是采用3个副本,不能直接下线节点,需要修改副本数。3.删除storage目录数据后,把表的colocate属性和分区数都恢复回去。下图是Grafana监控Starrocks磁盘的图片。查看be日志be.WARNING.log。至此,集群恢复正常使用,过程有点繁琐。4.再把BE节点添加进入集群。2.下线该磁盘暴涨节点。

2024-11-13 14:15:07 243

原创 一次强制下线StarRocks的be节点后恢复集群

应该先下线BE节点,下线过程中该 BE 上的数据会迁移到其他 BE 上,过程中不影响数据导入和查询。然后再删除BE节点即可。删除 BE 时如果有表是单副本且该表的部分 tablet 分布在要删除的 BE 上,则不允许删除该 BE。会提示你错误,并且给出你使用强制下线的命令下线BE节点。如果执行以上命令再进行查询的时候,会出现以下的错误。查看BE master节点的错误日志。

2024-11-07 16:49:31 314

原创 Mybatis拦截器中获取@RequestBody表单的值修改查询SQL

Slf4j/*** 存储body数据的容器*/// 将body数据存储起来try {try {= null) {if (reader!

2024-11-06 17:56:46 606

原创 服务器上删除超大文件夹的解决方案

它会遍历指定目录下的所有子目录,并调用 delete_files.sh 脚本删除每个子目录中的文件和空目录。

2024-11-06 16:21:26 402

原创 根据日志文件的报错信息预警发送消息提醒

Data/*** 系统编码/*** 模块名称/*** 哪些级别的日志需要告警,如果不配置,则取告警收集器日志级别(ERROR,WARN,INFO)/*** 指定需要预警的包路径/*** 指定需要预警的方法名/*** 排除不需要预警的异常类。

2024-10-11 15:52:39 259 1

原创 Springboot自定义注解记录用户操作

切入点,@Pointcut切点表达式非常丰富,可以将 方法(method)、类(class)、接口(interface)、包(package) 等作为切入点,非常灵活,常用的有@annotation、@within、execution等方式,上面的示例使用的是@annotation方式,意思就是说被Spring扫描到方法上带有@annotation中的注解 就会执行切面通知。:该注解标注的方法在所有的 Advice 执行完成后执行,无论业务模块是否抛出异常,类似于 finally 的作用;

2024-10-11 14:32:11 703

原创 MySQL 高可用解决方案(双主双从)

MySQL 高可用解决方案(双主双从)

2024-03-03 14:36:23 1371

原创 Mysql 高可用解决方案

MySQL 高可用解决方案

2024-02-26 22:35:52 1123

原创 Nginx解决接口请求超时方案

记一次解决接口超时的问题

2024-02-26 20:13:15 2103

原创 PostgreSQL数据库安装部署

1.postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。可以看到 /pgsql/postgresql/data已经有文件了。找到最下面这一行 ,添加上配置,这样局域网的人才能访问。2.pg_hba.conf 配置对数据库的访问权限。2.拷贝linux文件到init.d目录下。如果报错进不去,指定ip,用户,端口号。1.在解压安装目录下找到启动脚本。7.启动postgresql。进入postgresql。添加以下内容到文件末尾。4.修改文件的可执行权。

2024-01-20 18:43:32 745

原创 多线程回调(Callback)编程模式使用

Callback回调

2024-01-10 16:55:52 1252

原创 Spring中线程池ThreadPoolTaskExecutor的使用

ThreadPoolTaskExecutor

2024-01-10 16:28:01 857

原创 SpringBoot整合FreeMarker模板引擎

freemarker使用

2024-01-09 16:53:49 652 1

原创 SpringBoot整合StringTemplate模板引擎

使用stringTemplate构建sql语句

2024-01-09 16:45:36 764

原创 MyBatis-Plus Generator代码生成器

mybatis plus代码自动生成工具

2024-01-09 11:47:44 428

原创 TiDB 学习笔记

Tidb 学习笔记

2022-07-29 11:39:44 1142

原创 SeaTunnel 学习笔记

SeaTunnel 学习笔记

2022-07-28 19:07:09 11617

原创 Docker 学习笔记

第1章 docker简介1.1 什么是docker1.Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动开放容器联盟(OCI)。2.Docker 使用 Google 公司推出的 Go 语言进行开发实现,基于 Lin

2022-03-31 16:32:16 2342

原创 linux查看整个机器内存使用情况

命令参数介绍total: 内存总数used: 已经使用内存数free: 完全空闲内存shared: 多个进程共享的内存buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)cached: 用于文件内容的缓冲available:真正剩余的可被程序应用的内存数...

2021-12-17 17:06:01 818

原创 Dolphinscheduler 学习笔记

Dolphinscheduler官网https://dolphinscheduler.apache.org/Dolphinscheduler下载地址https://www.apache.org/dyn/closer.lua/dolphinscheduler/1.3.9/apache-dolphinscheduler-1.3.9-bin.tar.gz一. DolphinScheduler简介1.1 DolphinScheduler概述Apache DolphinScheduler是一个分布式、

2021-12-13 21:51:39 7555

原创 Dolphinscheduler 安装笔记

一. DolphinScheduler部署说明1.1 软硬件环境要求1.1.1 操作系统版本要求操作系统版本Red Hat Enterprise Linux7.0 及以上CentOS7.0 及以上Oracle Enterprise Linux7.0 及以上Ubuntu LTS16.04 及以上1.1.2 服务器硬件要求CPU内存网络4核+8 GB+千兆网卡1.2 部署模式DolphinScheduler支持多种部署

2021-12-13 17:33:58 1669

原创 DataX 学习笔记

一. DataX简介1.1 DataX概述DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。官网地址:https://github.com/alibaba/DataX1.2 DataX支持的数据源DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图。类型数据源R

2021-12-13 12:01:46 3858

空空如也

空空如也

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

TA关注的人

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