Originally posted by: CyberZenn
I have heard that Apple's implementation of the JVM is very good - better than Sun's in terms of appearance and performace at least.
Yes, the Apple JVM is optimized for client app loading time. Their 1.4.1 VM is largely based on Sun's VM source code.
And yes, the Sun JVM is sluggish in the load time department. Sun claims 1.4.2 (out in a matter of days or weeks) will be 15% faster than previously. When Sun backports Apple's clever shared memory implementation to its implementations, the Sun JVM will be even better still.
However, Sun's JVM is considered a mature, robust, quality VM (some go so far as to say "world-class"). It's clearly the market leader when it comes to hosting application servers, as it's commonly the base platform for J2EE application servers (which for the most part, lead enterprise app. server market share).
On modern hardware, client app load times for the Sun JVM are tolerable, if not spectacular. The reason the MS VM loads faster is it's essentially integral to the OS (many MS apps cheat through "pre-loading"). But actual usage of Java apps during runtime is not a problem with the Sun JVM.* On a somewhat different note, Java is generally considered about 2-3 times slower than C++ during runtime. Some benchmarks show that it's very comparable in runtime performance; others show it as noticeably slower. IMO it's a lot closer to parity than most people believe.
In theory, a runtime JIT compiler can do a better job than a static compiler ever could.
I don't think the OP was a troll, but there are definitely some misconceptions across the board. Personally, Sun's Java2 VM is the only one I routinely use, and I have only an older P3-800 box. I would consider BEA's jRocket for server-side enterprise applications in the (near) future.
Finally, the Java2 plugin system tray icon can be disabled completely. Check out the Plug-in configurator in the Windows Control Panel.
* Except for performance-critical apps. Generally speaking, Java is not the platform of choice for performance-critical applications.