Search code examples
java-7invokedynamic

InvokeDynamic from source code in JDK7


Prerelease versions of JDK 7 contained a class java.dyn.InvokeDynamic that allowed creating invokedynamic instructions from source code.

See here: http://fwierzbicki.blogspot.com/2009/08/invokedynamic-and-jython-part-i.html

In the official JDK 7 release this class seems to have disappeared. Does anyone know if this source-code option is still supported?


Solution

  • java.dyn package has been renamed to java.lang.invoke.

    Though I don't think you can create the 'invokedynamic' instruction from Java, the instruction is there for other dynamic languages.

    In Java you can use 'java.lang.invoke.MethodHandle' as a faster alternative to reflection, examples are available in the javadoc of the MethodHandle class. Note that invokedynamic instruction itself relies on MethodHandle for dynamic linking of methods. (For more details you can read Oracle's article New JDK 7 Feature: Support for Dynamically Typed Languages in the Java Virtual Machine)