Overview
Explore the implementation of lambda expressions in Java with expert Brian Goetz in this 39-minute conference talk. Dive into functional interfaces, inner classes, and the process of adding lambda expressions to the Java language. Learn about lambda capture, the metafactory API, and various translation strategies. Discover how Indy serves as the ultimate lazy initialization and procrastination aid. Examine performance considerations, including capture cost, and understand how lambda expressions extend beyond the Java language. Gain insights into potential VM support, serialization, and Goetz's VM wish-list for future improvements.
Syllabus
Intro
Adding lambda expressions to Java
Functional interfaces
We could "just" user inner classes
Stepping back...
Its not just for dynamic languages anymore
Desugaring lambdas to methods
Lambda capture
The metafactory API
Candidate translation strategies
Indy: the ultimate lazy initialization
Indy: the ultimate procrastination aid
Performance example - capture cost
Not just for the Java Language!
Possible VM support
Serialization
My VM wish-list
Taught by
Java