@Soumya
Please bear in mind that whenever you talk about JVM, you may be actually talking about three different things:
1) The abstract Specification.
2) A concrete implementation (of spec)
3) A run-time instance of a Java Virtual Machine.
The aim or mission of a run-time instance of JVM is : to run one Java Application.
When a Java application starts, a run-rime instance of JVM is born and when application completes/terminates, the instance dies.
Each Java application runs inside its own run-time instance of JVM.
i.e. If you start three Java Application on the same computer, using the same concrete implementation of JVM, three seperate run-time instance will born, for each application.
@For the curious: A run-time instance of Java Virtual Machine continues to live as long as any non-daemon threads are running. When all non-daemon threads of application terminates, the run-time instance of JVM will die.
Note: This excerpt is from a MUST READ book - Inside the Java Virtual Machine by Bill Venners. One can also check out :
Java Corner-Artima
Hope it helps.
Himanshu Mall
@
[email protected]