我正在了解Java 8中的Streams和Lambda功能,而且在Oracle文档Lambda表达式中,最后一条评论如下:
如果一个Lambda表达式的目标类型和其捕获的参数都是可序列化的,则可以对其进行序列化。但是,与内部类一样,强烈不建议序列化Lambda表达式。
查阅相关信息后,我发现了这个SO问题
其中OP正在处理客户端代码中的序列化Lambda表达式。
如果我有一个Web服务,并且其中一个参数是Lambda表达式,那么它似乎可能包含恶意代码,例如文件系统访问或导致堆栈溢出 - 因此信任它是非常愚蠢的。
我是否夸大了安全风险,或者序列化表达式的内容存在限制?