-
oak是一款基于java8集合源码的可扩展并发键值映射工具,适用于大数据分析场景
资源介绍
java8集合源码橡木
Oak(堆外分配的键)是一种可扩展的、并发的、内存中的键值
(KV)
映射。
OakMap
是一个并发的键值映射,可以将所有键和值保持在堆外。
这使得可以使用比
JVM
托管堆更大的堆大小。
OakMap
实现了行业标准的
Java8
ConcurrentNavigableMap
API。
它为读、写和读-修改-写以及(非原子)范围查询(扫描)操作提供了强大的(原子)语义,包括向前和向后。
OakMap
针对大键和值进行了优化,特别是针对对象的增量维护(就地更新)。
与流行的
Java
ConcurrentNavigableMap
相比,它通过额外的
CPU
内核速度更快,扩展性更好。
为什么选择橡树地图?
OakMap
提供了出色的性能:它采用细粒度同步,因此可以很好地扩展线程数量;
它还通过避免内存碎片来实现缓存友好性。
.
OakMap
从堆外获取键和数据,因此允许使用巨大的堆
(RAM)
—
甚至超过
50G
—
没有
JVM
GC
开销。
为了支持堆外,OakMap
具有嵌入式、高效、基于
epoch
的内存管理,主要消除了
JVM
GC
开销。
Oa