Flink通过 MemorySegmentFactory 来创建 MemorySegment,MemorySegment 是 Flink 内存分配的最小单位。对于跨 MemorySegment 的数据访问,Flink 抽象出一个访问视图,数据读取视图 datainputView 以及数据写入视图 dataoutputview。

对于跨 MemorySegment 保存的数据,如果需要上层的使用者,需要考虑所有的细节,非常烦琐,所以 Flink 又抽象了一层内存页。内存页是 MemorySegment 之上的数据访问视图,上层使用者无须关心 MemorySegment 的细节,该层会自动处理跨 MemorySegment 的读取和写入。