我正在尝试理解JVM中的调用站点(call site)是什么。引用自https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-5.html#jvms-5.4.3.6。
调用站点指示符分辨率(call site specifier resolution)的结果是一个元组,包括: • 对java.lang.invoke.MethodHandle实例的引用, • 对java.lang.invoke.MethodType实例的引用, • 对Class、java.lang.invoke.MethodHandle、java.lang.invoke.MethodType和String实例的引用。
我们还有所谓的调用站点对象https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokedynamic:
引导方法返回的结果必须是对一个其类为java.lang.invoke.CallSite或者java.lang.invoke.CallSite子类的对象的引用。这个对象被称为调用站点对象。
调用站点对象的概念很清楚,这只是CallSite的一个实例。但是调用站点指示符呢?它是一个Java对象吗?它是一个String文字吗?
调用站点指示符分辨率(call site specifier resolution)的结果是一个元组,包括: • 对java.lang.invoke.MethodHandle实例的引用, • 对java.lang.invoke.MethodType实例的引用, • 对Class、java.lang.invoke.MethodHandle、java.lang.invoke.MethodType和String实例的引用。
我们还有所谓的调用站点对象https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html#jvms-6.5.invokedynamic:
引导方法返回的结果必须是对一个其类为java.lang.invoke.CallSite或者java.lang.invoke.CallSite子类的对象的引用。这个对象被称为调用站点对象。
调用站点对象的概念很清楚,这只是CallSite的一个实例。但是调用站点指示符呢?它是一个Java对象吗?它是一个String文字吗?