消息丢失的场景RabbitMQ丢失消息的3种情况: 生产者丢失消息 场景: 生产者发送消息后,RabbitMQ 服务器崩溃或网络中断,导致消息未到达 RabbitMQ。 解决方案: 使用 Confirm 模式,确保消息成功到达 RabbitMQ RabbitMQ 服务器丢失消息 场景: Rabbit
前言有些系统对于敏感信息(如:手机号码、身份证号码、家庭地址等)需要加密后将密文入库,不能明文存储。普通的加密模式下,整段内容会被整体加密,密文就不再具备被模糊查询的功能。 应用层次在应用层中实现,通过 MyBatis 的 TypeHandler 拦截数据的读写操作。 每次查询前先从数据库查询所有记
基于MySQL悲观锁通过 select ... for update 实现 原理: 利用数据库的唯一索引特性,通过插入一条记录来获取锁,删除记录来释放锁。 实现: 创建一张锁表,包含资源名称和唯一索引。 获取锁时,尝试插入一条记录;如果插入成功,则获取锁;如果插入失败(唯一索引冲突),则锁已被占用。
环境: iperf 3.18 简介 百科:Iperf 是一个网络性能测试工具。Iperf可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。 官方文档:https://iperf.fr/iperf-doc.php 安装 Linu
网站整理推荐: Z-Library:https://z-library.sk/ 安娜档案馆:https://annas-archive.org/ 其他: 访问Z-Library电报官方频道:@zlibrary_official 推特官方频道:@Z_Lib_official Z-Library + 电
使用Adobe Acrobat的PitStop插件批量去除水印版本信息: Adobe Acrobat Pro DC 2020.006.20034 PitStop Pro 20.1 (2020) 写在前面一般不是使用 Adobe 添加的水印,使用 Adobe 去除水印很麻烦。 如果页面少可以通过 Adobe 的内容编辑进行编辑:视图 -> 显示/隐藏 -&
起因家里是开发商自带精装修,装修的各方面质量都不行,弱电箱的网线水晶头都没安装。家里一共4个网线面板口和3个电话线口,本来这次以为安装水晶头就行了,后来测试发现4个网线面包中有3个线序不对。 准备 8P网线钳。25¥ 巡线仪,由于弱电箱里面有7根网线,对应4个网线面包和3个电话线口,但是没标识哪个对
准备 红米AX6000,固件本版1.0.67 SSH连接工具 开启Telnet(windows默认未开启) 本记录适用于固件本版1.0.67,如果不是,就需要通过小米路由器官方修复工具进行降级,手动降级至1.0.67版固件。因为后续安装插件操作的前提是需要开启SSH,其他的固件版本不确定能否解锁SS
先挖个坑,目前直接用 官方固件+clash 就行了,后面有需求在进行刷机。——20240824 准备本次用到: 红米AX6000,自带固件1.0.67 参考 https://www.youtube.com/watch?v=KH318DzR7lA
JUC学习笔记-异步编程:Future与CallableCallable和Future Callable 负责 定义任务逻辑(类似 Runnable,但能返回结果和抛出异常)。 Future 负责 管理任务生命周期 和 获取计算结果。 二者结合才能完整实现 “提交任务 → 异步执行 → 获取结果” 的流程。 功能互补 职责 对方的作用 Callable
JUC学习笔记-显式锁:ReentrantLock详解ReentrantLockReentrantLock 是 Java 并发工具包 (java.util.concurrent.locks) 中的一个重要类,它实现了 Lock 接口,提供了比 synchronized 更灵活、更强大的锁机制。 与synchronized的对比 特性 Reentrant
JUC学习笔记-基础并发工具:Atomic包与CASAtomic包与CAS概述1、什么是Atomic包 java.util.concurrent.atomic 包是Java提供的一组线程安全的原子操作类,可以在不使用锁的情况下实现线程安全操作。这些类主要分为以下几类: 基本类型:AtomicInteger、AtomicLong、AtomicBoole
Java JUC (java.util.concurrent) 学习路线建议学习 Java 并发工具包 (JUC) 的学习路线: 1. 基础准备 掌握 Java 基础:特别是多线程基础(Thread, Runnable) 理解并发基本概念:线程安全、竞态条件、死锁、活锁等 2. 核心组件学习顺序第一
UUIDUUID (Universally Unique Identifier) 是一个 128 位的标识符,用于在分布式系统中唯一地标识信息。UUID 的标准定义见 RFC 4122。 特点: 全局唯一性:理论上在不同时间、不同机器上生成的 UUID 都不会重复 固定长度:128 位,通常表示为
记录自己在使用 Windows 系统时的一些设置,方便后续操作 环境: Microsoft Windows 10 专业版 次要版本:21H2 查看windows版本win + R -> winver mac地址cmd:getmac /v /fo list 优化设置任务栏Dism++ ->
简介Restful API是基于请求-响应模式的单向通信,而 WebSocket 提供全双工通信渠道,允许客户端和服务器之间进行实时双向数据传输,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
踩坑记录-Java中时间字段入库值和格式化后的值相差一秒先说现象,有一个时间写到本地数据库中的值和格式化后的值相差一秒。 上代码: String dateStr = "2023-10-13 13:14:15:999"; try { SimpleDateFormat sdf1 = new SimpleDateFormat("y
解决windows中Typora上万字后异常卡顿的情况问题 环境:Windows10 Typora 打开字数超过2w字的文件后超级卡。 解决1、打开 NVIDIA 控制面板: 2、管理3D设置 -> 添加 -> 选中Typora -> 添加选定的程序: 3、选择 高性能NVIDIA处理器 -> 应用
git grep <关键词> :搜索含有关键词的文件 git blame <文件名>:查看指定文件每一行的提交人和提交时间 git log -p <文件名>:查看指定文件的每一次提交和改动 撤销提交 教程:如何撤销 Git 操作? 撤销提交:在当前提交后面,新增一
命令5.71、查看正在进行中的事务 mysql> select * from information_schema.innodb_trx\G *************************** 1. row *************************** trx_id: 13992