摘要:
缓存穿透 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。 整个过程分为如下3步:1)缓存层不命中。2)存储层不命中,不将空结果写回缓存。3)返回空结果。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后 阅读全文
摘要:
如何实现线程安全与代码编写有很大的关系,但虚拟机提供的同步和锁机制也起到了至关重要的作用。 1.互斥同步(阻塞同步) 互斥同步(Mutual Exclusion & Synchronization)是一种最常见也是最主要的并发正确性保障手 段。同步是指在多个线程并发访问共享数据时,保证共享数据在同一 阅读全文
摘要:
蜜源 (1)HashMap 与 HashTable 的对比? YY (1)HashMap 1.7, 1.8 的主要区别, 除了树化,扩容后不需要重新计算hash 还有什么? (2)ConcurrentHashMap 1.7 与 1.8 的区别, 1.7 的分段锁,分了多少段呢? 1.8 还优化了什么 阅读全文
摘要:
目前数据库存储一张表格主要是行存储(Row Storage)和列存储(Column Storage)两种存储方式。 行存储 行存储将表格看作一个个记录,每个记录是一行。以包含订单号、金额、下单时间 3 项的表为例,行存储如下图所示: 如上图所示,在计算机中没有真正的行的概念。行存储本质就是数据一个接 阅读全文
摘要:
区别(优缺点) 分点总结 1、存储,访问方式 ①数组中的元素是连续存储的,可根据索引随机访问元素。 ②链表中的元素不连续,是靠指针指向下一个元素的位置,只能顺序遍历访问,不能随机访问。 2、结构大小 ①数组大小固定,不可动态改变 ②链表大小可动态变化 3、增删查 ①数组查询速度快(下标),增删速度慢 阅读全文