Java: One Jar, Multiple Machines, where is the JVM?


Long time reader, first time poster!

I have two computers on a local network: machine A and machine B. I have an executable jar called "myJar.jar" located on Machine A. If I open "myJar.jar" on machine B, then what happens? Is the JVM launched on machine A or machine B? I would image the JVM would be on machine B, but this implies that the jar must in some way be copied to machine B before it can execute. Does anything special happen when "myJar.jar" finishes executing?

Here's the reason I'm asking: I have a lightweight application that I'm planning to leave on server for distribution across a local network. I'm afraid that multiple users who use the application before copying to their local machine will burden the server.


Java will run on the machine that opens the jar (in your case machine B). Think of it like this: if your jar was on a USB stick, would you expect the USB stick to run the JVM?