StaticMemoryManager
继承与MemoryManager
,它是静态的内存分配,是1.6版本以前的实现,就像是建筑商建造好了房子,用户来到直接住进去就好了(弊端:有的人多住了小房子,有的人少住了大房子)。而UnifiedMemoryManager
是自由分配内存的实现,相当于组装房,你要多大我给你多大。
#1.初始化
spark.memory.useLegacyMode
值为 false:创建 UnifiedMemoryManager 类实例,该类为新的内存管理模块的实现
else {
// 否则,使用最新的UnifiedMemoryManager内存管理模型,即统一内存管理模型
// 我们再看下UnifiedMemoryManager,即统一内存管理器。在SparkEnv中,它是通过如下方式完成初始