小编Jav*_*ing的帖子

是否收集了lambdas垃圾?

如果我没有弄错,在某些情况下,Java中的lambda将作为匿名类实例生成.例如,在此代码中,lambda需要从外部捕获变量:

final int local = 123456;
list.forEach(x -> System.out.println(x + local));
Run Code Online (Sandbox Code Playgroud)

这是否意味着垃圾收集器会将lambda声称为对象?

java lambda garbage-collection

5
推荐指数
2
解决办法
3343
查看次数

对象列表与消费者之间的性能差异

我有这种方法,生成一些点并添加到新列表.这样做的缺点是每次都会产生太多的物体.

现在,我想回归点消费者的消费者,例如:

PointConsumer { void apply(int x, int y); }
PointIterator { void apply(PointConsumer pc); }
Run Code Online (Sandbox Code Playgroud)

每次我生成一个点,我会连接一个新的lambda与旧的lambda:

pointIterator = pc -> { pointIterator.apply(pc); pc.apply(x, y); }
Run Code Online (Sandbox Code Playgroud)

这种方法比前一种方法更慢还是更多的内存消费者?如果差异更大或更小,请不要理会.

java iteration lambda list

1
推荐指数
1
解决办法
54
查看次数

标签 统计

java ×2

lambda ×2

garbage-collection ×1

iteration ×1

list ×1