Espada

酸萝卜 ♂ 别吃

Redis 笔记三

Q:万金油的 String 不一定好用 场景: 开发一个图片存储系统,要求这个系统能快速地记录图片 ID 和图片在存储系统中保存时的 ID(可以直接叫作图片存储对象 ID)。同时,还要能够根据图片 ID 快速查找到图片存储对象 ID。 用 10 位数来表示图片 ID 和图片存储对象 ID,例如,图片 ID 为 1101000051,它在存储系统中对应的 ID 号是 3301000051。 ......

Redis 笔记二

Q:什么是主从模式 那我们总说的 Redis 具有高可靠性,又是什么意思呢? 其实,这里有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是增加副本冗余量,将一份数据同时保存在多个实例上。即使有一个实例出现了故障,需要过一段时间才能恢复,其他实例也可以对外提供服务,不会影响业务使用。 实际上,Redis 提供了主从库模式,以......

Redis 笔记一

Q:Redis 变慢的原因一 这里存在一个问题,哈希冲突链上的元素只能通过指针逐一查找再操作。如果哈希表里写入的数据越来越多,哈希冲突可能也会越来越多,这就会导致某些哈希冲突链过长,进而导致这个链上的元素查找耗时长,效率降低。对于追求“快”的 Redis 来说,这是不太能接受的。 所以,Redis 会对哈希表做 rehash 操作。rehash 也就是增加现有的哈希桶数量,让逐渐增多的 ......

大容量数组随机读写的效率问题

CPU 高速缓存支棱不起来

背景 昨天在刷 AcWing 每日一题的第 3732 题「矩阵复原」时,发现在大容量数组作为缓存时提交无限 TLE,但是该用 HashMap 就 ac 了。 在我浅薄的知识勺中,一直认为数组的下标作为 key 随机访问其下标的元素数据时是要快于一些集合的,HashMap 有着复杂的数据结构,底层也是数组、链表和红黑树,怎么样都不会比一维数组作为缓存来的快吧,但实际上在该背景下确实是 Has......

LeetCode 第 243 场周赛

#1882 Process Tasks Using Servers

Problem Description 给你两个下标从 0 开始的整数数组 servers 和 tasks ,长度分别为 n 和 m 。servers[i] 是第 i 台服务器的权重 ,而 tasks[j]是处理第 j 项任务所需要的时间(单位:秒)。 你正在运行一个仿真系统,在处理完所有任务后,该系统将会关闭。每台服务器只能同时处理一项任务。第 0 项任务在第 0 秒可以开始处理......

位运算算法题小技巧

学了忘,忘了学

位运算 位运算的效率就不说了,每次学会一些小技巧就忘了,还是基础不够扎实吧。。 计算某个 int 值的第 i 位(二进制位)是什么,可以用 num >> i; 有符号右移,不要在用 Integer 的 API 了 0 与 1 的转换(仅存在 1 与 0),num = 1 - num; 汉明码常用:for (int i = 0; i < 32; i++) {&#......

千千万万设计模式之装饰器模式

模式千万条,生命就一条,可以下班了。

装饰器模式 未完待续… ...

分布式事务与 Seata 初探

分布式事务 布式事务的实现有很多种,最具有代表性的是由Oracle Tuxedo系统提出的XA分布式事务协议。 XA协议包含两阶段提交(2PC)和三阶段提交(3PC)两种实现。 当然该协议主要是一种理论方式,具体落地有相应的组件(Seata等)或者代码中自行实现。 二段式提交 当队员收到就位确认提示后,如果已经就位,就选择“是”,如果还没就位,就选择“否”。 相应的,在队长发起就位确......

数据结构:字典树

前缀树

介绍 Trie (发音为 “try”) 或前缀树是一种树数据结构,用于检索字符串数据集中的键。这一高效的数据结构有多种应用: 自动补全 谷歌搜索建议 拼写检查 文字处理软件中的拼写检查 IP 路由 (最长前缀匹配) 使用Trie树的最长前缀匹配算法,Internet 协议(IP)路由中利用转发表选择路径 T9 (九宫格) 打字预测 T9(九宫格输入),在......

走进JVM之内存布局

向代码致敬,寻找你的第[83]行。

《码出高效》系列笔记(一):面向对象中的类 《码出高效》系列笔记(一):面向对象中的方法 《码出高效》系列笔记(一):面向对象中的其他知识点 《码出高效》系列笔记(二):代码风格 《码出高效》系列笔记(三):异常与日志 《码出高效》系列笔记(四):数据结构与集合的框架 《码出高效》系列笔记(四):数据结构与集合的数组和泛型 《码出高效》系列笔记(四):元素的比较 走进JVM之内部布局 走进......