From the article http://www.javalobby.org/articles/java2exe/?source=archives, the author claims that an ahead of time compiler is a big advantage for a client side java app because your app is fully optimized at start up time (by contrast to a VM compiler) and it doesn’t suffer performance penalty caused by agressive compilation of the VM. One question that quicky arise: why hotspot (to name a VM) doesn’t cache on disk the optimized code?
So what are the arguments of Sun to do dynamic compilation since the beginning of Java? I know Java has been much more used on the server side. Sorry if the answers already exist somewhere in this forum.

[/edit]