Your best standard solution is to run/deploy the apps in an application server. This is assuming that you are dealing with an app for which the overhead of the application server does not overshadow the advantage of having the single instance running. The downside is that deploy time is going to be considerable.
If you are simply looking to have small java apps that start up more quickly, you're mostly out of luck. There have been a few attempts to implement this in experimental JVMs. The idea being that if a JVM is running, then attach the class invocation to this running instance instead of staring up a new JVM. But none of this, as far as I can recall, ever made it into any of the mainstream JVMs.