SmoothOper wrote:I have had trouble running multiple java programs. You either have to run multiple JVM's or run multiple programs in the same JVM, in the former case each invocation requires a standard gigabyte of data in overhead. If you are lucky enough that your Java programs can run on the same version of JVM, 1.5, 1.6, 1.7 ... then they can run in the same invocation, however the JVM doesn't implement kernel threads so if a program uses threads it can starve the other Java programs, and we all know Java programmers have mouths to feed too.
Just to address a couple of the falsities above
In general, you cannot run multiple java applications in the same JVM. One notable exception are application servers like Tomcat, which host multiple concurrent applications, but these are not standalone applications, and have to engineered in a very specific way. I'm aware of no widely used equivalent that will do the same for arbitrary desktop applications.
Java applications, regardless of the version they were compiled with, will usually run in a more recent version of java (i.e. something compiled in 1.5 will run in a 1.7 JVM). Write once, run anywhere.
There is no "standard gigabyte" overhead. Java applications can consume a lot of memory, true, but there's no gigabyte minimum. KGS right now is running 110 megs for me ("Working Set Memory") in Windows 7 64 bit. A lot, to be sure, but hardly a gigabyte.