后端

242. 有效的字母异位词

1.题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 提示: 1 <= s.length,

这个Spring Security登录插件牛啊,验证码、小程序、OAuth2都能快速接入

上次我们把验证码登录、小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多。胖哥就赶紧抓住机会举一反三,把几个非标准的OAuth2也接入了进来,主要是微信、企业微信,做到应接尽接。 只需要通过下面几行简单的代码就可以完成集成: @Bean DelegateClientRegistrationRepository delegateCl

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

JMM内存模型

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

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

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

【存储中间件】Redis核心技术与实战(五):Redis缓存使用问题(BigKey、数据倾斜、Redis脑裂、多级缓存)、互联网大厂中的Redis

文章目录 Redis缓存使用问题 BigKey 什么是bigkey bigkey的危害 发现bigkey scan 解决bigkey 数据倾斜 Redis脑裂 哨兵主从集群脑裂 集群脑裂 多级缓存实例 互联网大厂中的Redis 整体方案 数据准确性 并发控制 基于updateTime的更新顺序控制

Redis中Key中为什么要使用{}

一、Redis集群介绍 Redis集群是一个提供在多个Redis间节点间共享数据的程序集,Redis集群能够实现key的分片,分片能使key均匀地分布到集群的机器上去,能保证数据的一致性。 二、使用Redis集群需要注意的点 从Redis单实例切换到twemproxy集群时,有些需要注意的地方。 1、不支持的方法: KEYS、MIGRATE、SCAN等 2、支持但需特殊处理的方法: MSET、SI

二阶魔方复原玩法

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