我最近一直在探索 invokedynamic 和 MethodHandles 信息。
似乎不推荐使用BOTH Linkage.registerBootstrapMethod()
和@BootstrapMethod
作为标记引导方法的方法。
他们如何注册常量池?
答案 0 :(得分:3)
从Java 8开始,注册引导方法没有Java语言级支持。 Bootstrap方法由类文件BootstrapMethods attribute中的字节码发射器(源到字节码编译器,字节码转换器,检测代理等)注册,CONSTANT_InvokeDynamic_info使用它们。常量池中的值,这些值又由invokedynamic指令引用。