# ImmutableCollection 不可变集合
- ImmutableList
- ImmutableSet
- ImmutableMapValues
# Map 相关
- 注意:修改关联的视图会对原始数据造成影响
# Table<R, C, V> 双键 Map
- 允许一个 value 存在两个 key,Table 中的两个 key 分别被称为 rowKey 和 columnKey
# BiMap<K, V> 双向 Map
- 一种 key 和 value 双向关联的数据结构
# Multimap<K, V> 多值 Map
- 将一个键映射到多个值
# RangeMap<K extends Comparable, V> 范围 Map
- 一种从区间到特定值的映射关系
# ClassToInstanceMap<B> 实例 Map
- 键是 Class,值是这个 Class 对应的实例对象
# CacheBuilder
缓存回收策略(支持多种策略同时配置):
- 基于容量:当缓存中的条目数量(或总权重)达到上限时,会使用 LRU(最近最少使用)近似算法回收条目
- 基于时间:
- expireAfterWrite:在写入一段时间后过期,适用于保证数据最终一致性的场景
- expireAfterAccess:在指定时间内没有被读或写后过期,适用于清理不活跃数据
- 基于引用:允许将键或值设置为弱引用(weakKeys / weakValues),或将值设置为软引用(softValues),以便在内存紧张时被垃圾回收器回收
# RateLimiter 限流器
- 令牌桶算法:通过固定速率生成令牌,请求需要获取令牌才能被处理
Sponsor