[toc] 深入理解HashMap和LinkedHashMap的区别 简介 我们知道HashMap的变量顺序是不可预测的,这意味着便利的输出顺序并不一定和HashMap的插入顺序是一致的。这个特性通常会对我们的工作造成一定的困扰。为了实现这个功能,我们可以使用LinkedHashMap。 Linke ...
分类:
其他好文 时间:
2020-05-02 09:54:26
阅读次数:
41
LRU全称Least Recently Used,也就是 最近最少使用的意思,是一种内存管理算法,该算法最早应用于 Linux操作系统。 这个算法基于一种假设:长期不被使 用的数据,在未来被用到的几率也不大。因此,当数据所占内存达 到一定阈值时,我们要移除掉最近最少被使用的数据。 LRU算法中,使用 ...
分类:
编程语言 时间:
2020-04-30 13:33:34
阅读次数:
65
简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问顺序访问,可以用来实现LRU缓存策略。 LinkedHashMap可以看成是 LinkedList + HashMap。 类图 LinkedHashMap继承HashMap,拥有HashMap的所有特性,并 ...
分类:
其他好文 时间:
2020-04-29 10:40:01
阅读次数:
52
7.1.1 value 对象的通用结构 typedef struct redisObject{ unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_BITS; int refcount; void *ptr; } robj; ty ...
分类:
其他好文 时间:
2020-04-29 01:04:19
阅读次数:
67
leetcode 解法 https://blog.csdn.net/Apeopl/article/details/90137398 import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; public c ...
分类:
其他好文 时间:
2020-04-28 20:08:28
阅读次数:
58
背景 HashMap 是集合框架中最重要的类之一: LinkedHashMap 直接继承 HashMap ConcurrentHashMap 的实现就是 HashMap + 分段锁 HashSet 底层是 HashMap TreeMap 的红黑树在 HashMap 也有实现 JDK1.8 java. ...
分类:
其他好文 时间:
2020-04-26 11:03:24
阅读次数:
47
在sqlserver中,几年之前就注意到一个现象:sqlserver中对一个大表创建索引或者rebuild索引的过程中,会引起内存剧烈的动荡,究其原因为何,这种现象到底正不正常,是不是sqlserver内存管理存在缺陷?另外,最近刚好想到跟MySQL对比一下类似操作引起的内存变化,测试MySQL会不 ...
分类:
数据库 时间:
2020-04-22 00:04:50
阅读次数:
91
[TOC] 缓存预热 宕机 服务器启动后迅速宕机 问题排查 1. 请求数量较高 2. 主从之间数据吞吐量较大,数据同步操作频度较高 解决方案 前置准备工作: 1. 日常例行统计数据访问记录,统计访问频度较高的热点数据 2. 利用 LRU 数据删除策略,构建数据留存队列,例如:strom 与 kafk ...
分类:
其他好文 时间:
2020-04-21 09:29:45
阅读次数:
84
深入理解HashMap和LinkedHashMap的区别 我们知道HashMap的变量顺序是不可预测的,这意味着便利的输出顺序并不一定和HashMap的插入顺序是一致的。这个特性通常会对我们的工作造成一定的困扰。为了实现这个功能,我们可以使用LinkedHashMap。 LinkedHashMap详 ...
分类:
其他好文 时间:
2020-04-20 14:10:45
阅读次数:
73
LRU 算法描述 LRU 算法实际上是让你设计数据结构:首先要接收一个 capacity 参数作为缓存的最大容量,然后实现两个 API,一个是 put(key, val) 方法存入键值对,另一个是 get(key) 方法获取 key 对应的 val,如果 key 不存在则返回 -1。 注意哦,get ...
分类:
编程语言 时间:
2020-04-17 23:27:31
阅读次数:
179