ReZero's Utopia.

ReZero's Utopia.

Everything is permitted.

Mysql 45 讲
主键索引的叶子节点存的是整行数据。在 InnoDB 里,主键索引也被称为聚簇索引 (clustered index)。 非主键索引的叶子节点内容是主键的值。在 InnoDB 里,非主键索引也被称为二级索引 (secondary index)。 自增主键的插入数据模式,正符合了我们前面提到的递增插入的场景。每次插入 一条新记录,都是追加操作,都不涉及到挪动其他记录,也不会触发叶子节点的分裂 有没有什么场景适合用业务字段直接做主键的呢?还是有的。比如,有些业务的场景需求是这样的: 只有一个索引; 该索引必须是唯一索引。 你一定看出来了,这就是典型的 KV 场景 我在上一篇文章末尾给你留...
elastic-search 笔记
A good place to start is with batches of 1,000 to 5,000 documents and a total payload between 5MB and 15MB. hits._score - the document’s relevance score (not applicable when using match_all) Each search request is self-contained: Elasticsearch does not maintain any state information across req...
Linux-disk
File x: get in dir. r: browse dir. File Special Authorization SUID chmod u+s bin For binary file Equal: (tempUser) execute file SGID chmod g+s dir For binary file Equal: (tempGroup) execute file IF u create a file, the file will be belong to u, but not for sgid, it belongs to sgid di...
CSAPP
Not be the real thing digit might be overfolw float will not be overflow, but could lost precision Memory RAM: Random am BitExclusive-Or(XOR) A ^ B Union | //并 Complement ~ //补 Intersection & //交 Symmetric difference ^ //差 IntegerUnsigned: $$ B2U(X)=\sum_{i=0}^{w-1}x_i*2^i $$ Signed: $$...
OQL
JVM Object Query Language参考链接 概述简单说就是 java heap 信息的查询语言。原本的小工具 hat 其实已经够用了,但是为了增加点灵活性,所以引入了 oql 方便查询。 123select <JavaScript expression to select> [ from [instanceof] <class name> <identifier> [ where <JavaScript boolean expression to filter> ] ] 上面的表达式大致介绍下:...
Think More
Think Morehttps://time.geekbang.org/column/intro/48 错误码的处理常见设计 C 的 errno 是记录系统的最后一次错误代码 错误具有歧义性,比如 0 不能区分是不是真的出错还是的确返回值就是 0 错误不够显式,常常忘记检查 Win 的 HRESULT 错误变成了出参,导致接口变得不够纯净 仍然错误不够显式 Go 的处理:函数的返回值附带一个 error 作为异常返回,当出现异常时其不为 nil 是接口类型,只包含了一个字符串做描述,因此可以自己做实现 Go 的设计者觉得 try/catch 机制的使用太泛滥了,而且从底层...
Thread pool
https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html 基本利益 统一管理IT资源,包括服务器、存储、和网络资源等等。通过共享资源,使用户在低投入中获益。 内存池(Memory Pooling):预先申请内存,提升申请内存速度,减少内存碎片。 连接池(Connection Pooling):预先申请数据库连接,提升申请连接的速度,降低系统的开销。 实例池(Object Pooling):循环使用对象,减少资源在初始化和释放时的昂贵损耗。 核心实现总体设计 生命周期管理 任务调度 ...
K8s
docker基础理解 容器本身没有价值,有价值的是“容器编排” 容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界“ 对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而Namespace 技术则是用来修改进程视图的主要方法。 int pid = clone(main_function, stack_size, CLONE_NEWPID | SIGCHLD, NULL); 这时,新创建的这个进程将会“看到”一个全新的进程空间,在这个进程空间里,它的 PID是 1。之所以说“看到”,是因为这只是一个“障眼法...
Thread
线程生命周期happens-before 程序顺序规则:一个线程中的每一个操作,happens-before于该线程中的任意后续操作。 监视器锁规则:对一个锁的解锁,happens-before于随后对这个锁的加锁。 volatile变量规则:对一个volatile域的写,happens-before于任意后续对这个volatile域的读。 传递性:如果A happens-before B,且B happens-before C,那么A happens-before C。 start规则:如果线程A执行操作ThreadB.start()启动线程B,那么A线程的ThreadB.start(...
JVM notes
How java code run? 1234567891011121314$ echo 'public class Foo { public static void main(String[] args) { boolean flag = true; if (flag) System.out.println("Hello, Java!"); if (flag == true) System.out.println("Hello, JVM!"); }}' > Foo.java$...
avatar
ReZero
大屁水饺的理想国.