na******@informatica.com (Naresh Agarwal) wrote in message news:<2b**************************@posting.google. com>...
Hi
What are the different kinds of JVMs exist and in what respect do they differ.
What is the difference between client, server, classic and hotspot jvms?
The differences generally relate to the way bytecode (used by Java
classes) is translated into native machine code (used by your computer's
processor!)
The nitty-gritty of each method is too much to expect someone to go into
here, but JVM's fall into two very broad categories: ones which interpret
the bytecode, and ones which attempt to 're-write' bytecode sections into
platform specific machine code, so they can be run more efficiently. The
latter option has two strategies: quickly compile each method prior to it
being executed, or analyse the application as it runs, and use this
information to help create tighter and more efficient machine code.
(Quick and crude, versus slow and elegant, if you like!)
For short lived programs, like many client applications, using the first
strategy to quickly speed up the application is often preferred. For
long-life applications, like network server software which can be active
for weeks or months at a time, slower execution during the first few
hours is a small price to pay for enhanced efficiency later on - so the
second strategy is often preferred.
Naturally this is a big topic, and which mode you choose will depend upon
other factors, including the type of work your application does, and how
it does it. The description above is nothing more than a broad overview.
Try searching java.sun.com for more details on each 'mode', including
pro's and con's for each.
-FISH- ><>