storm trident定义的内存结构MemoryMapState 详解

MemoryMapState trident中定义的一种state,用来保存storm trident算出的数据。java

看一下MemoryMapState 和 State的关系安全


MemoryMapState 将全部的数据存放在内部静态属性ide

 static ConcurrentHashMap<String, Map<List<Object>, Object>> _dbs = new ConcurrentHashMap<String, Map<List<Object>, Object>>();

关于ConcurrentHashMap,能够看成一个线程安全的mapspa

public class ConcurrentHashMap<K, V> extends AbstractMap<K, V> 
implements ConcurrentMap<K, V>, Serializable

MemoryMapState 对ConcurrentHashMap的操做,主要依靠内部类 MemoryMapStateBacking进行。线程

static class MemoryMapStateBacking<T> implements IBackingMap<T>, ITupleCollection

storm学到如今,感受里面都是套子,一个类的方法实际上是调用本身一个属性的方法,不少层。code

相关文章
相关标签/搜索