Java lambda表达式每次执行时是否在堆上创建一个对象?
它是等效的但不相同。简而言之,如果lambda表达式未捕获值,则它将是单例,可在每次调用时重复使用。
行为没有完全指定。JVM被赋予了很大的自由来实现它。当前,Oracle的JVM为每个lambda表达式创建(至少)一个实例(即不在不同的相同表达式之间共享实例),但为所有不捕获值的表达式创建单例。
你可以阅读此答案以获取更多详细信息。在那里,我不仅给出了更详细的描述,还提供了测试代码以观察当前行为。
你尚未登录,登录后可以
和开发者交流问题的细节
关注并接收问题和回答的更新提醒
参与内容的编辑和改进,让解决方法与时俱进
联系我
602392714
清零编程群