Hacking Lambda Expressions in Java
Hacking Lambda Expressions in Java
https://dzone.com/articles/hacking-lambda-expressions-in-java
At the bytecode level, a lambda expression is replaced with an invokedynamic instruction. This instruction is used to create implementations of a functional interface. and its single method delegates a call to the actual method with code defined inside of a lambda body.
How and Why to Serialize Lambdas
https://dzone.com/articles/how-and-why-to-serialialize-lambdas
Java 8 Lambdas - A Peek Under the Hood
https://www.infoq.com/articles/Java-8-Lambdas-A-Peek-Under-the-Hood
Translating lambda expressions to anonymous inner classes would limit possible future optimisations (e.g. caching) as they would be tied to the anonymous inner class bytecode generation mechanism.
The Java language and JVM engineers decided to defer the selection of a translation strategy until run time.