If there is to be any caching of reflection, that should occur within
the reflection API. That may or may not happen, as evidenced by
Dalvik.
The real answer for the JDK proper is JSR 292, which allows for the
proper construction of call site caches with performance much better
than memoizaton.
I intend to spend some more time with JSR 292 soon, and would welcome
others who want to work on this. It can speed up reflection and,
potentially, multimethod dispatch.
People interested in participating should join the JVM languages group:
http://groups.google.com/group/jvm-languages
and check out the Da Vinci machine project:
http://www.openjdk.org/projects/mlvm/
as well as Rémi Forax's backport:
http://weblogs.java.net/blog/2009/07/01/jsr292-backport-first-release
Regards,
Rich