随笔分类 - 22-Q2
摘要:C++的基础类型:https://www.cnblogs.com/sfzlstudy/p/16250033.html 主要diff:char,long 基本数据类型种类: 有8种,分别是:byte、short、int、long;float、double;boolean;char; 8种基本数据类型,
阅读全文
摘要:why: Redis的字典使用哈希表作为底层实现。 在字典容量不足,或者使用率非常低的时候,需要做对应的扩容,或者缩容操作。 what: 字典结构如下: 具体代码: 字典(dict)中:type属性和privdata属性是针对不同类型的键值对,而创建多态字典而设置的。 type属性是一个指向dict
阅读全文
摘要:what: LSM:Log Structured Merge Trees,日志结构合并树。 LSM被设计来提供比传统的B+树或者ISAM更好的写操作吞吐量,通过消去随机的本地更新操作来达到这个目标(根本原因:磁盘随机操作慢,顺序读写快,快大约3个数量级。关联文章:https://www.cnblog
阅读全文
摘要:what: 概述: LevelDb是能够处理十亿级别规模Key-Value型数据持久性存储的C++ 程序库。 有如下一些特点: 1、是一个持久化存储的KV系统。大部分数据存储到磁盘上; 2、在存储数据时,是根据记录的key值有序存储的; 3、支持数据快照(snapshot)功能,使得读取操作不受写操
阅读全文
摘要:what: volatile 是 Java 中的关键字,是一个变量修饰符,被用来修饰会被不同线程访问和修改的变量。 why: 1、可见行: 多个线程访问同一个变量时,其中一个线程修改了该变量的值,其它线程能够立即看到修改的值。 在 Java 内存模型中,所有的变量都存储在主存中,同时每个线程都拥有自
阅读全文
摘要:what: 以一个“40亿个数据是4个字节的unsigned int 型的数据”为例。 a、直接存储。(40 * 10^8) * 4byte = 14.9GB (1GB=2^10Mb=2^20kb=2^30byte); b、采用位图(bitmap)存储。40亿个数据都是位于[0, 2^32 - 1]
阅读全文
摘要:what: 泛型则是将接口的概念进一步延伸,而泛型的意思就是广泛的类型,无论是类、接口还是方法都可以应用于非常广泛的类型。实现更灵活的代码复用,并且能提高代码的可读性和安全性。 demo: 泛型类: public class Pair<T> { T first; T second; public P
阅读全文
摘要:FSA(可为有序集合set): 确定无环有限状态接收器(deterministic acyclic finite state acceptor),即FSA。 一个FSA需要满足以下条件: 确定性的。给定输入,最多只能转移到一个状态。 无环的。不能反序遍历。 接收器。FSA可以接收一系列特定的输入。
阅读全文
摘要:what: 数据高可用性,主要包括:数据的持久性、数据的可访问性、数据的一致性。 数据的持久性:数据可以持久存储,存储后数据不会出现丢失。即数据写入持久存储设备,存储设备还需要有多副本,并且在不同的地域存储; 数据的可访问性:多副本数据,如果一个数据故障,那么能够快速的切换到其他的数据源上,从而保证
阅读全文
摘要:what: ZAB是zookeeper中支持崩溃恢复的一致性协议。基于该协议,zookeeper构建主从模式的架构,从而支持集群中各副本的数据一致性。 工作方式:所有更新操作,都会发往主结点(Leader),然后主结点(Leader)将日志写入本地日志,再将日志复制到从结点(follower)。如果
阅读全文

浙公网安备 33010602011771号