I'm writting an application that is making use of a large number of other applications. A few of which are java. To call them from my app I'm sending the command: java -jar prog.jar < infile > outfile This works fine so long as I only make use of the java applications minimally, however, the java program I am using is a tagger, which is being called potentially thousands of times. As you might image this is a very big bottleneck in my app. Is there any way that i might just be able to say java -start then anything i send such as -jar prog.jar would be executed, rather then me having to restart the JM everytime i want to use my tagger. What i am saying is can i preload the Java Virtual Machine or do i have to reload it everytime i want to call a java program?