java 17及更早的反射实现依赖于委托模式--特别是一个名为delegatingmethodaccessorimpl的类。该类的委托开始时是一个依赖本地代码执行反射调用的类。 然而,一旦通过了阈值,该委托就会被一个自定义类所取代(据说它已被打补丁了)。 这个自定义类是在运行时动态创建的,这是一个相对昂贵的操作,这就是为什么在调用阈值通过之前不执行该操作的原因。 这种实现有时被称为...
java 17及更早的反射实现使用委托模式,java 18引入了基于方法句柄的新实现,可替代反射并向后兼容。新实现的性能影响尚不清楚,需要进行具体应用程序的测试。