摘要:
问题总结 ES底层数据结构:倒排索引 词项字典(trem dictionary)、词项索引(trem index): 通过FST算法,压缩词项字典和词项索引数据。词项字典类似于前缀树结构,极大的减少存储内存,FST结构同时存储了词项索引用于定位倒排列表(posting list) 倒排表 通过FOR 阅读全文
摘要:
用到了操作系统层面的NIO,同步非阻塞。epoll(sys_epoll)函数。IO多路复用。用到红黑树,用户与内核共享内存。 二进制安全 支持的数据类型: 1、string:动态字符串 string包含三个encoding,string、int、bitmap。 bitmap(使用场景,会员一年中登录 阅读全文
摘要:
Netty,异步事件驱动网络框架。 高效原因: 1、使用的是IO多路复用。 2、零拷贝,堆外直接内存。 3、强大网络API。 netty核心组成jdk的nio三剑客:Channel、Buffer、Selector. 服务器端Netty具体线程模型 1、定义引导类ServerBootstrap 2、S 阅读全文
摘要:
1、volatile关键字 volatile可见性,线程间共享同一变量,volatile修饰,保证线程间可见性。 import java.util.Date; public class OTest { private static volatile boolean flag = false; pub 阅读全文
摘要:
1、.ssh文件生成 需要root用户登录,登录后 会在当前root用户文件夹下生成.ssh文件 2、命令生成私钥公钥 ssh-keygen 直接连续回车完成生成 3、配置公钥私钥 私钥:id_rsa 公钥:id_rsa.pub 登录github,设置公钥 注意:如果直接复制存在问题,可以下载到wi 阅读全文
摘要:
一、缓存简介 1.1 缓存就是数据交换的缓冲区。缓存的本质是一个内存Hash。缓存是一种利用空间换时间的设计,其目标就是更快、更近:极大的提高。 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位置。 缓存是用于存储数据的硬件或软件的组成部分,以使得 阅读全文
摘要:
XXL-JOB分布式任务调度平台 文档见: https://github.com/xuxueli/xxl-job/blob/master/doc/XXL-JOB%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3.md 需要注意的是版本 v2.1.2 Release Notes[ 阅读全文
摘要:
HashMap Node数组 初始化是16,扩容因子0.75(As a general rule, the default load factor (.75) offers a good tradeoff between time and space costs.时间和空间平衡),扩容2的N次幂。 阅读全文
摘要:
1.与运算(&)都是1才是1,其他都是0 1 & 1 = 1; 1 & 0 = 0; 0 & 1 = 0; 0 & 0 = 0; 2.或运算(|)有1就是1。 0 | 0 = 0; 0 | 1 = 1; 1 | 0 = 1; 1 | 1 = 1; 0010 1011 | 0101 0100 = 01 阅读全文