Tagged articles

invokedynamic

5 articles · Page 1 of 1
Dabaoshi
Dabaoshi
Jul 29, 2026 · Fundamentals

JVM Compile‑Time Secrets: Syntactic Sugar and Method Dispatch

This article walks through how the Java compiler (javac) transforms source code into bytecode, revealing the hidden steps of syntactic‑sugar removal, generic type erasure, autoboxing pitfalls, foreach/varargs handling, the five invoke instructions, static versus dynamic method dispatch, and why Lambda expressions rely on invokedynamic rather than anonymous inner classes.

JVMType Erasureinvoke
0 likes · 19 min read
JVM Compile‑Time Secrets: Syntactic Sugar and Method Dispatch
DeWu Technology
DeWu Technology
Aug 26, 2024 · Fundamentals

Understanding Java's invokedynamic and Lambda Implementation

The article explains how Java’s invokedynamic instruction and LambdaMetafactory create synthetic classes and MethodHandles to implement Lambda expressions, detailing compilation steps, stateless versus stateful handling, performance implications, and the requirement for captured variables to be effectively final.

JVMJavainvokedynamic
0 likes · 16 min read
Understanding Java's invokedynamic and Lambda Implementation
21CTO
21CTO
Oct 23, 2019 · Mobile Development

How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8

This article explains the principles behind Java 8 lambda expressions and the invokedynamic bytecode instruction, then examines how Android indirectly supports these features through tools like RetroLambda, Jack & Jill, and the D8 dex compiler, detailing their desugaring processes and limitations.

AndroidD8Desugar
0 likes · 16 min read
How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8
Meituan Technology Team
Meituan Technology Team
Oct 17, 2019 · Mobile Development

Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8

The article explains how Java 8 lambda expressions rely on the invokedynamic bytecode instruction, and how Android compensates for its absence by desugaring lambdas through RetroLambda, the now‑deprecated Jack & Jill toolchain, and the modern D8 compiler, each generating synthetic classes for runtime execution.

AndroidD8Desugar
0 likes · 14 min read
Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8