提问人:pintoch 提问时间:5/2/2020 更新时间:5/2/2020 访问量:197
在 Java 中清理闭包的序列化
Cleaning up the serialization of a closure in Java
问:
Java 中匿名函数(或闭包)的序列化经常会失败,因为对不可序列化对象的虚假引用。例如,在对象中声明的匿名类如果未标记为 ,则形式上依赖于该对象,即使它不依赖于对象中的任何方法或属性。static
为了解决这个问题,许多框架都使用闭包清理实用程序:
- 在 Spark 中:ClosureCleaner.scala
- 在 Flink 中:ClosureCleaner.java
- 在 Chill 中(从 Spark 复制):ClosureCleaner.scala
是否有任何库可以执行此操作,可以将其添加为依赖项,而不是像 Chill 那样复制代码?将 Spark 或 Flink 作为依赖项添加到项目中只是为了使用它们的闭包清理器似乎有点多,特别是因为这些类不是公共 API 的一部分。或者有什么理由不应该在项目中重用这些算法?
答: 暂无答案
评论