【问题标题】:How does hazelcast deal with serialized lambdas?hazelcast 如何处理序列化的 lambda?
【发布时间】:2017-03-27 23:20:20
【问题描述】:

根据 Oracle 的说法,不建议序列化 lamdbas,可以将序列化的 lambda 与 Hazelcast 一起使用,我想知道它是如何处理这个问题的,是否存在关于 lambda 类重复的问题?例如当为 lambdas 生成的类被复制时,可能会执行错误的代码。我最感兴趣的是使用分布式执行器和分布式地图实现。

【问题讨论】:

    标签: java serialization hazelcast


    【解决方案1】:

    序列化 Lambda 根据 Java Lambda 序列化规范进行序列化。唯一官方支持的方式是执行“双重转换”的标准方式:

    (Runnable & Serializable) (v) -> System.out.println(v);
    

    这样就可以像 Java 序列化一样对其进行序列化。但是我建议不要将任何外部内容捕获到 lambda 中。

    【讨论】:

    • 你说的外部内容是什么意思,一个lamda只是一个没有状态的函数,你怎么能在里面存储任何东西呢?你是说有状态的匿名内部类吗?
    • 不,当您捕获封闭上下文时,您就有了一个带状态的 lambda。
    猜你喜欢
    • 1970-01-01
    • 2017-08-07
    • 2021-06-27
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多