Appendix D. Lambdas and JVM bytecode
You may wonder how the Java compiler implements lambda expressions and how the Java virtual machine (JVM) deals with them. If you think lambda expressions can simply be translated to anonymous classes, you should read on. This appendix briefly discusses how lambda expressions are compiled, by examining the generated class files.
D.1. Anonymous classes
We showed in chapter 2 that anonymous classes can be used to declare and instantiate a class at the same time. As a result, just like lambda expressions, they can be used to provide the implementation for a functional interface.
Because a lambda expression provides the implementation for the abstract method of a functional interface, it would seem straightforward ...
Get Java 8 in Action: Lambdas, streams, and functional-style programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.