Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My impression from the openjdk code is that each lambda generates:

1. A method in its parent class. 2. An invokedynamic instruction at the call site.

The invokedynamic instruction calls LambdaMetafactory, which compiles an anonymous class at runtime that calls method #1. So the only benefit of using invokedynamic is fewer class files, by deferring generating them until runtime.



Non-capturing lambdas also don't instantiate a new object at each call site. But this is also doable without invokedynamic.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: