So? Aside that it's not entirely true — Java run-time engines typically compile Java bytecode into native code at run-time — it is not standard behaviour to run Java programs from their sources. Perl's developers made a choice to parse the source every time, and Java should not be penalized for it.
I'm sorry: I was probably not clear. The timing for 'java' does not include the 'javac' step, but the perl timing includes the conversion of source to code for the interpreter. I was just suggesting that the 'time' commands were not timing the same things.