I was actually referring to the JIT built in to most JVMs. This link should help understand what I was saying. My overall point was just that Java, sans a Swing UI, is fast and that "interpreted" is kinda misleading in the traditional sense of "interpreted," since it is compiled (you conveniently use the word 'produces' instead) into bytecode. It really doesn't matter, we seem to agree on the main points.
http://wwws.sun.com/software/solaris/jit/
Yaminz, there was a time when I would say the same thing about Java, and those folks who continue to say that probably haven't taken the time to dig as deep into the architecture of .NET, where they'd quickly learn it's superior. Not sure if your friends fall into this category, but there are many folks out there that simply have a bias against Microsoft, so much so that they can't admit when they finally get it right, which is the case with .NET.