-1

Can someone please explain me the difference between JVM, server\jvm.dll file and Java HotSpot VM. I have already studied

jvm.dll file from Difference between java.exe, javaw.exe and jvm.dll and

HotSpot from Difference between JVM and HotSpot?

Real differences between "java -server" and "java -client"?

http://www.oracle.com/technetwork/java/whitepaper-135217.html#solid

but still didn't understand the concept. Please give a simple and clear explanation.

Community
  • 1
  • 1
Aman
  • 979
  • 3
  • 10
  • 23
  • 3
    You couldn't understand what it is from 4 different sources, why do you think you'll understand it from here? I think you didn't _actually_ study those. – Sotirios Delimanolis Aug 12 '14 at 15:28
  • may be you could give a better explanation in simple words – Aman Aug 12 '14 at 15:30
  • possible duplicate of [difference between java.exe, javaw.exe and jvm.dll](http://stackoverflow.com/questions/8503327/difference-between-java-exe-javaw-exe-and-jvm-dll) – Philipp Wendler Aug 12 '14 at 19:20

1 Answers1

3

java.exe is the Java launcher. It's a very small program that loads jvm.dll, and uses JNI (Java Native Interface, an interface inside jvm.dll that is used to connect C and Java code) to start up the JVM.

The difference between the client and server versions is in the warmup time and optimisation strategy (client takes less time to start up than server, but performs less optimisations). So -server is generally better for long-running processes, where the longer startup time is amortised, and -client is generally better for short-lived ones.

C. K. Young
  • 219,335
  • 46
  • 382
  • 435
  • Thanks for the answer but what is HotSpot VM and how it is different from JVM ? – Aman Aug 12 '14 at 15:35
  • @user3519914 HotSpot is the implementation of the JVM that comes with OpenJDK and Oracle JDK. Other Java implementations (e.g., IBM, Harmony, etc.) use different JVM implementations. – C. K. Young Aug 12 '14 at 15:37
  • ya exactly what is the meaning of JVM implementation? And where is jvm.dll loaded? – Aman Aug 12 '14 at 15:38
  • @user3519914 The JVM is defined in the [Java Virtual Machine Specification](http://docs.oracle.com/javase/specs/jvms/se8/html/index.html). Any software which implements what that document says is a compliant JVM implementation. HotSpot is one such implementation. – C. K. Young Aug 12 '14 at 15:42