Java FAQ: Top Questions
50. What is invokedynamic in Java?
invokedynamic , introduced in Java 7, is a JVM instruction for dynamic method invocation, enabling flexible, runtime-resolved calls, primarily for dynamic languages and lambdas.
-
Bootstrap Method:
Links the call site at runtime using a
CallSite
. -
Method Handles:
Works with
java.lang.invoke
(see Q40). - Performance: Optimizes dynamic calls, used in Java 8 lambdas.
- Use Case: Implementing dynamic languages (e.g., JRuby), lambda compilation.