- 博客(5)
- 收藏
- 关注
原创 为什么 MySQL 创建索引推荐区分度高的字段;解释随机 IO 与顺序 IO
随机 IO:用查询查到的 Id 去 user 表中查询,因为这5000 个 Id 在表里是随机分布的(在物理内存上也是),所以数据库会去不断的找位置,频繁长距离移动。所以随机 IO 是吞吐量低和延迟极高的。这条 SQL 会先从二级索引中查到5000 个 ID,然后回标查询出数据,但是这里有个重点回去查表的时候属于随机 IO。回到上面的情况 5000 次随机 IO 的速度甚至会远慢于 全表扫描。所以他可以连续快速的读取数据,读取或写入的数据块在物理上是。就像连续录制一整盘磁带。
2025-09-25 14:28:13
204
原创 Java 的stream 的 groupingBy 解析,附力扣 49 算法题
Stream API 是Java 8 引入的 Stream API 提供了一种高效、声明式(函数式)的数据处理方式,特别适合对集合或数组进行复杂的操作(如过滤、映射、排序、聚合等)。
2025-09-09 21:03:27
289
原创 详解函数式接口和 Lambda 表达式
我们也可以自定义函数式接口,但是注意只能有一个抽象方法,因为如果有多个方法,在使用 Lambda 表达式实例化是JVM 就不知道表达式是什么方法的实现;这是一个给商品优惠的方法,但是在实际开发中需要多种不同的优惠策略,如果每一个优惠策略都写一个方法,则会有大量的重复编码。Lambda 表达式又叫匿名方法,其实就是常规犯法的简化写法,它省略了返回值和方法名;简单来说函数式接口就是只有一个抽象方法的接口,并且可以用 Lambda 表达式来实例化。这里将优惠计算方法作为参数传递,只需要将接口实例化传入即可;
2025-08-02 18:48:33
327
原创 Java 实现 Redis 工具类
方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓。方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间。方法3:根据指定的key查询缓存,并反序列化为指定类型,利用缓存空值的方式解决缓存穿透问题。方法4:根据指定的key查询缓存,并反序列化为指定类型,需要利用逻辑过期解决缓存击穿问题。
2025-08-02 15:10:13
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人