Главная
Study mode:
on
1
EMERGING TECHNOLOGIES FOR THE ENTERPRISE CONFERENCE
2
Lambda expressions for Java
3
Why lambdas for Java?
4
Why not "just" add function types?
5
Alternative: functional interfaces
6
Big question #2: representation
7
Why not "just" use inner classes?
8
New bytecode tool: MethodHandle
9
Why not "just" use MethodHandle?
10
Bytecode invocation modes
11
New bytecode tool:invokedynamic
12
Its not just for dynamic languages anymore
13
Desugaring lambdas to methods
14
Factories and metafactories
15
Translation strategies
16
Indy: the ultimate procrastination aid
17
Indy: the ultimate lazy initialization
18
Indy: the ultimate indirection aid
19
Performance costs
20
Performance example - linkage cost
21
Performance example - capture cost
22
Not just for the Java Language!
23
Future VM support (?)
24
Serialization
25
Summary
Description:
Explore the implementation details of lambda expressions in Java SE 8 through this in-depth conference talk. Dive into the technical aspects of closures and default methods, understanding why they were added to the language and how they differ from inner classes. Learn about the invokedynamic feature from Java SE 7 and its role in lambda implementation. Discover new bytecode tools like MethodHandle and various invocation modes. Examine the process of desugaring lambdas to methods, factories, and metafactories. Analyze performance costs, including linkage and capture costs, through practical examples. Gain insights into potential future VM support, serialization, and the broader implications for languages beyond Java. Enhance your understanding of Java's evolution and the powerful capabilities introduced by lambda expressions.

Lambda: A Peek Under the Hood - Lecture 16

ChariotSolutions
Add to list