guava cache 代码分析3 get(key) -- 7
来源:互联网 发布:java开发客户端软件 编辑:程序博客网 时间:2024/05/16 01:42
上面在讲到Segment数组的时候,已经提过根据key的hash计算出在那一个Segment里面。下面具体看下Segment是怎么从缓存中取出的。
V get(K key, int hash, CacheLoader<? super K, V> loader) { //当没有数据时,就直接load再载入 if(count == 0) return lockedGetOrLoad(key, hash, loader); }finally{ } }
之前有提过ReferenceEntry,他里面有个 ReferenceEntry next ,指向前一个。这就代表着他是个指针。3->2->1->null。先取出的是3 (先进后取)
- 当没有key时,载入取出
V lockedGetOrLoad(K key, int hash, CacheLoader<? super K, V> loader) { ReferenceEntry<K, V> e; //这个是value ValueReference<K, V> valueReference = null; boolean createNewEntry = true;//是否要创建 lock(); //锁定 }
0 0
- guava cache 代码分析3 get(key) -- 7
- guava cache 代码分析1 -- 5
- guava cache 代码分析2 -- 6
- Guava Cache的RemoveListener分析
- Google Guava Cache实例与分析
- 缓存框架Guava Cache部分源码分析
- guava cache
- Guava cache
- Guava-cache
- Guava Cache
- guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- Guava学习笔记:Guava cache
- mysql txt文件的导入导出
- 自定义排序函数
- Leetcode之Jump Game & Jump Game II
- 【他山之玉】习而学的工程教育
- 6. ZigZag Conversion
- guava cache 代码分析3 get(key) -- 7
- jsp 自定义标签
- NSObject的load和initialize方法
- Unity3d 编写编辑器自定义插件(1)
- 用递归实现排列组合(java代码)
- 分布式集群系统下的高可用session解决方案
- JAVA反射获取类名,方法名,属性及构造方法
- JSP自定义标签(一) 树形下拉选择菜单
- Android知识结构