Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is JVM ? use of JVM?

Answer Posted / paul

The Java Virual Machine (JVM) is essentially an interpreter
at its core.
It was designed that way for cross platform compatibility.
i.e. write code once, run anywhere. This was the motto in
the early days. The interpreter takes a .class file and
compiles it in a process called Just In Time (JIT)
compiling. So a programmer doesn't have to worry (as much)
about the code being executed. Take C/C++ files which are
executable files (native code - .exe, .dmg etc.). They
don't need to be interpretd but an exe file for Windows
can't work on say Mac. As long as a Java interpreter has
been written for an OS, the .class file will run.

Because .class files are independent of the machine (at
least the classical 32 and 64, XXX bit machines we have
today) they are essentially vitual executables. They still
need the interpreter (JVM) to read them and execute them.
So .class files are essentially virtual bytecode.

Because they are compiled to this intermediate
representation, they are in effect in a language of their
own - Java bytecode. This means that you can in practice
create your own programming language fron end and target it
to the JVM (many do this eg. Scala,) There are over 100
languages that target the JVM as of writing. They do this
becuase they can avoid writing a backend. The JVM is the
backend, and it's a reliable industrial-grade backend.

So nowadays, the JVM is also like a laboratory for testing
new languages and profiling language performance and
reliability etc.

At it's heart the JVM is essentially a stack processor as
it reads the stack of commands in a .class file.

The name is confusing as the only vurtual things are
the .class files that are created by the Java compiler.
It's better imo to think of the Java compiler (Javac) as a
virtual compiler, and the the Java interpreter (JVM) as an
interpreter. Really both stages - compiling and
interpreting are virtual I guess.

The JVM for this reason is also a good way to learn about
abstract machines (as its basically a window into the
intermediate language). There are many uses for the JVM. I
believe virtual machines like this are timeless technology
and will be around, forever maybe.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the size of arraylist in java?

1017


What is java util?

1012


Is math an abstract class in java?

1001


What are the features of java?

1071


What is a nested list?

958


Is main a function?

1042


What are the important features of Java 8 release?

1078


give an example for encapsulation?

1040


Which programming language is most secure?

985


How list contains works in java?

977


What is function declaration?

954


How to invoke external process in java.

1068


Differentiate jar and war files?

1035


What is an example of a conditional statement?

1042


How you can force the garbage collection?

981