概述 在支付场景中,支付成功后利用RabbitMQ通知交易服务,更新业务订单状态为已支付。但是大家思考一下,如果这里MQ通知失败,支付服务中支付流水显示支付成功,而交易服务中的订单状态却显示未支付,数据出现了不一致。此时前端发送请求查询支付状态时,肯定是查询交易服务状态,会发现业务订单未支付,而用户 ...
简介 Java 异步编程是现代高性能应用开发的核心技术之一,它允许程序在执行耗时操作(如网络请求、文件 IO)时不必阻塞主线程,从而提高系统吞吐量和响应性。 异步 vs 同步 同步:任务按顺序执行,后续任务需等待前任务完成。 public String syncTask() { // 模拟耗时操作 ...
小伙伴们,你们好呀,我是老寇,跟我一起学习使用Vertx实现MQTT-Server 实现MQTT-Server【响应式】 vertx-mqtt地址 实现思路 1.启动MQTT Server并绑定很多端口记录到缓存,服务注册到Nacos,通过接口的方式获取IP和端口【负载均衡】 2.MQTT Clie ...
前言 sensitive-word-admin 最初的定位是让大家知道如何使用 sensitive-word,所以开始想做个简单的例子。 不过秉持着把一个工具做好的原则,也收到很多小伙伴的建议。 v2.0.0 在 ruoyi-vue(也非常感谢若依作者多年来的无私奉献) 的基础之上,对整体 UI 进 ...
RabbitMQ介绍 RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址: Messaging that just works — RabbitMQ 接下来,我们就学习它的基本概念和基础用法。 安装 在安装命令中有两个映射的端口: 15672:RabbitMQ提供的管理控制台的 ...
大家好,我是R哥。 这次要分享的,是一个让人既感动、又佩服、又励志的面试逆袭故事。 这个兄弟我管他叫小方吧,双非本科、30+、非科班出身,之前一直在一线城市打拼,过着租房、加班、通勤三点一线的生活,虽然努力、踏实,也算混得还可以。 但是,在外面呆久了,家里长辈年龄都大了,他突然意识到:不能再留在一线 ...
使用 Spring Boot 实现 Excel 导出 + 邮件异步发送功能,解决接口阻塞问题 一、背景介绍最近我在开发一个跑团管理系统的数据导出功能,需求是将用户查询的成员信息、跑量统计等数据导出为 Excel 文件,并通过邮件自动发送至指定邮箱,而非让用户手动下载文件。虽然功能逻辑看起来不复杂,但 ...
前言 大家好,我是小徐啊。我们在开发Java应用的时候,经常是需要和PDF文档打交道的。 这极大地帮助我们提高了开发效率。 今天,小徐要来聊一聊,如何利用工具,将pdf文档压缩大小,方便我们上传,最重要的是,这是完全免费的。一起来看下吧! 如何压缩pdf文件大小,完全免费? 首先,我们打开微信,在搜 ...
一、背景与需求 在云存储场景中,数据安全是核心需求之一。MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,确保即使存储服务器被攻破,攻击者也无法获取明文数据。本文将详解如何通过Java实现MinIO文件的加密上传与解密下载,结合AES对称加密算法和BouncyCas ...
大家好,我是R哥。 前几天 Redis 官方发布了一个重磅消息:Redis 8.0 正式发布!这次发布,不仅是版本号的迭代,更是一次态度上的回归——它宣布重新开源了! 你是不是好奇,Redis 本来不就是开源的吗? 不,从 Redis 7.4 开始,它就悄悄把核心协议换了: 没错,Redis 7.4 ...
一、概述 在Spring Boot中,拦截器是一种用于拦截和处理HTTP请求的机制。它是Spring框架提供的一种中间件,用于在请求到达控制器(Controller)之前或之后执行一些共享的逻辑。 Spring Boot的拦截器基于Spring MVC框架中的HandlerInterceptor接口 ...
一、概述 1.1 含义 过滤器是Web三大组件之一,也是项目中常用的工具。过滤器由Servlet提供,基于函数回调实现链式对网络请求和响应的拦截与修改。由于基于Servlet,几乎可以拦截Web服务器管理的所有资源(JSP、图片文件、HTML文件、CSS文件等)。 定义过滤器需要实现javax.se ...
大家好,我是大任,今天给大家分享一下Elasticsearch的向量搜索技术 注:本文若未说明ES版本则为7.10,其他版本会特别标记,由于ES版本不同,部分差异较大,具体请以官方文档为准 一、向量搜索的核心原理 1.1 向量化表示的本质 现代AI技术将文本、图像等非结构化数据转化为高维向量(通常1 ...
大家好,我是R哥。 最近看到一个很有意思的话题: 看完真让我哭笑不得。。 这件事可不是段子,而是真实的行业写照,虽然说不是每家公司都这么干,但这种现象在国内也并不少见。 有能力、有追求的技术人想做点事,碰到的不是技术挑战,而是职场人性难题。 说到底,这位架构师的问题不是技术不行,而是太理想主义。他以 ...
前言 大家好,我是小徐啊。Excel是我们在Java开发的时候,常用到的软件,非常方便,能帮助我们快速开发应用。 然后,有时候,我们需要在Excel里面进行数据的插入,比如插入几行或者几列。 今天,小徐就来介绍在如何在Excel里面插入指定数量的行或者指定数量的列。 Excel如何插入指定数量的行或 ...
大家好,我是R哥。 近几年,每到十月份前后,喜欢逛知乎的同学一定能看到类似热帖——如何看待 202X 年秋招 XXX 岗哀鸿遍野? 当然,类似标题的帖子还有——如何看待 202X 年秋招 XXX 岗灰飞烟灭/普天同庆/直接破防? 那么作为 2026 届的同学,如何避免成为这些热帖中吐槽的一员呢? 答 ...
前言 大家好,我是小徐啊。我们在开发Java应用的时候,经常是需要使用PDF文档的。 有的时候,我们的PDF是很多内容荷载一起的,我们想要拆分PDF文档,但是,有些工具是不支持的,而且不是免费的。 今天,小徐就来介绍一款免费的PDF文档拆分工具,免费PDF编辑器。 如何使用PDF编辑器,拆分PDF ...
大家好,我是R哥。 最近面试辅导又有兄弟挺进数字马力了,学历:双非本科,坐标:郑州,他找我的目的就是想进数字马力,没想到在他和导师的共同努力下,目标竟然达成了。 关于数字马力,很多人还不了解,以为数字马力是外包,我们面试辅导了一些人进去,也还有双非的同学拿到数字马力的 offer 还犹豫还要不要去。 ...
编写一段代码,使得这段代码必定会产生死锁 使用Thread.sleep 以下是一个经典的 Java 死锁实现,通过两个线程互相持有对方需要的锁来确保必定发生死锁: public class DeadlockDemo { // 创建两个锁对象 private static final Object l ...
Spring循环依赖 重点提示: 本文都快写完了,发现“丈夫” 的英文是husband....... 在“②有AOP循环依赖” 改过来了,前面用到的位置太多了就没改。我是说怎么idea的hansband英文下面怎么有波浪线。各位能够理解意思就行,英文拼写不要过于在意. 1.案例引入 在这篇文章中," ...