后端

Java-212 RabbitMQ 消息可靠性进阶:Publisher Confirms、mandatory Return、持久化与幂等落地

TL;DR 场景:支付/充值等需要最终一致性的链路,用 RabbitMQ 做异步解耦但必须可追责不丢单。 结论:Confirm 解决“Broker 收到”,mandatory+Return 解决“路由失败可见”,持久化+幂等兜底“宕机/重投/重复”。 产出:同步 Confirm、批量 Confir

Android 轻量级存储方案(SharedPreferences、MMKV、Jetpack DataStore)

1.SharePreferences SharedPreferences:一个轻量级的存储类,特别适合用于保存应用配置参数。(是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下) image.png SharedPreferences使用: 1.保存数据: 保存数据一般分为以下步骤: 使用Activit

11. 类的关系——依赖关系

1、特点 指一个类A使用到了另一个类B 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A 表现:类B作为参数被类A在某个方法中使用(形参) 2、代码实现 2.1 形式参数 //依赖关系 //公交车类 public class Bus { private int num; private String name; public Bus() {

JMM内存模型

什么是JMM内存模型 内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型。 JMM(Java内存模型)源于CPU架构的内存模型(用于解决多处理器架构系统中的缓存一致性问题)。JVM为了屏蔽各个硬件平台和操作系统对内存访问机制的差异化,提出了JMM概念。因此它不是对物理内存的规范,而是在虚拟机基础上进行的规范从而实现平台一致

LeetCode - #125 验证回文串

前言 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新到 124 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。 不积跬步,无以至千里;不积小流,无以成江

Android直播间聊天消息列表,直播间RecyclerView。采用3层缓存机制,一秒内收到几百条消息依然不卡顿。

Github链接,给个Star鼓励我写更多好库 直播间聊天消息列表,直播间RecyclerView。采用3层缓存机制,一秒内收到几百条消息依然不卡顿。 功能(优点): ✅采用3层缓存机制 + 异步解析ImageSpan。一秒内收到几百条消息依然不卡顿 ✅可配置RecyclerView最短刷新时间间隔 。如0.5秒只触发一次notify ✅可配置在短时间内如果收到太多消息可选择丢弃消息 。如0.

2.1 实验一:OSPF实验以及密码认证

步骤一:配置路由器接口以及IP地址。  过程省略。 步骤二:查看路由器当前接口 IP 地址配置与路由表。 display ip interface brief命令用来查看接口与IP相关的简要信息,包括IP地址、子网掩码、物理状态和协议状态以及处于不同状态的接口数目等。 display ip routing-table:命令用来显示公网IPv4路由表的信息。 InLoo

VMware Workstation虚拟机固定IP配置(主机互通、外网可访问)

VMware Workstation虚拟机固定IP配置 环境 问题 配置过程 配置虚拟机网络适配器 配置虚拟机网络 配置虚拟网卡网络适配器 配置虚拟机固定IP 结果验证 结束语 参考 环境主机:Windows 11 VMware Workstation: 17.5.2 虚拟机:Ubuntu 24.02 LTS注: 主机系统和VMware

二阶魔方复原玩法

等到可以录视频的时候,进行视频录制哈 二阶魔方的玩法分为三个步骤,分别是:1)还原底层角块;2)还原顶面颜色;3)调整顶层角块,每步结束后分别要达到下图中的各个状态。为了更好的说明,灰色部分代表了该步骤中不相关的颜色,只用看标彩色的方块就行了。 第一步:还原底层角块 这一步我们要将底层的4个角块都复原,非常简单,只需要记一个算法就好了,假设以白色为底,白色块只会有5个位置,这些位置要么是对称的,要