Up to and including 1.4, reflection is very slow.
And...it's many times faster than it was a few versions previously!
Even trivial stuff that - to any normal human being - would seem to take only as much time as a few tens of method calls (i.e. nanoseconds), takes (close to) milliseconds (IIRC).
e.g. if you discover a method by reflection, and cache it, and want to invoke it, *each invocation* takes masses of time, even though yuo're not having to do *any* discovery.
Java 5 was meant to make some major improvements in this area. Since I have no intention of using 5 for as long as I can possibly avoid doing so, I'm afraid I'll have to leave that to someone else