我阅读了master分支(2018/11)的spark源代码,它将在spark 2.5版本中发布。 我不明白为什么Spark的Spillable类仅使用onHeap内存的原因?我的意思是为什么它不像ShuffleExternalSort那样做,在用户启用spark.memory.offHeap.enabled并设置可用的spark.memory.offHeap.size之后可以使用offHeap。 如果我将Spillable类的代码更改为使用OffHeap或OnHeap(取决于ShuffleExternalSort等用户配置),则需要注意什么。