1. 概念 我们知道,Elasticsearch(ES) 的底层存储引擎是 Lucene,ES 调用 Lucene 的接口进行 CRUD,写入 ...
VInt 介绍 VInt (variable-length Integer) 变长整数,指的是使用动态变化的字节数来表示整数。我们熟悉的编程语...
一、背景 公司业务订单数据增量大概在 4 亿每月,订单在数据库中存量保存 3 个月数据,一共 12 亿文档 1 TB 数据。平时读 QPS 在 ...
系统调用 在讲解io之前,先介绍下系统调用。系统调用是操作系统内核提供给外部访问的最小接口,运行在内核态,如果应用层需要访问cpu、内存、io等...
在使用go语言开发项目时,有这么个需求:在函数返回前检查某个值是否合法,如果不合法则进行修正。那最自然的实现方式如下: 但是这种方式有个弊端,当...
前言 HashMap在java程序中使用颇为频繁,因此掌握HashMap的底层实现显得格外重要。相信大家也知道HashMap是非线程安全的,在多...
前言 单例模式应该是编程中使用最多的设计模式之一,写好单例模式往往能体现一个程序员的基本功。单例模式看似简单,但是要将其设计得高效、安全、优雅,...
前言 java 相较于 c、c++ 语言的优势之一是自带垃圾回收器,程序开发人员不用手动管理内存,内存的分配和释放完全由 gc (Garbage...
基本概念 数据库的索引类似书的目录,我们通过标题及其对应的页码便可快速的找到标题对应的内容。在数据库中,可以根据索引快速定位记录的位置,然后从磁...