After looking a many tools for compiling java bytecode down to native executables, JOVE seems to be the only one that does that and can actually increase benefits. VisualCafe puts wrappers around the bytecode and includes a vm and some overhead code to put everything in one executable, but it also slows down the whole thing by 10-15%. (This is from a VisualCafe tech that helped us out considerably.) JOVE takes your class files as input and rewrites them for better performance, resulting in a single executable. See www.instantions.com for more details. It's quite interesting. How does it work? Well, for simple applications it works well. For our huge (3500 classes) application with lots of reflection, we're still tweaking things to get it working.