Java VMs have a JIT compiler which converts java bytecode to machine code. The machine code for frequently used parts of the application are saved so that it doesn't have to be re-interpreted. So if you have a java program in which 95% of the CPU usage is done in a small loop, that loop wont be re-interpreted each iteration. In that case, the java program will run just as fast as its C/C++ equivalent.Now, I know it's not *as* fast as C++, but how did they efficienize their parser so much?
Completely false. Run the program Azureus, and tell me how its UI is worse than a UI written in any other language.Write any program with a half decent looking UI in Java. It can't be done.