Overview
Syllabus
EMERGING TECHNOLOGIES FOR THE ENTERPRISE CONFERENCE
Lambda expressions for Java
Why lambdas for Java?
Why not "just" add function types?
Alternative: functional interfaces
Big question #2: representation
Why not "just" use inner classes?
New bytecode tool: MethodHandle
Why not "just" use MethodHandle?
Bytecode invocation modes
New bytecode tool:invokedynamic
Its not just for dynamic languages anymore
Desugaring lambdas to methods
Factories and metafactories
Translation strategies
Indy: the ultimate procrastination aid
Indy: the ultimate lazy initialization
Indy: the ultimate indirection aid
Performance costs
Performance example - linkage cost
Performance example - capture cost
Not just for the Java Language!
Future VM support (?)
Serialization
Summary
Taught by
ChariotSolutions