• Post Reply Bookmark Topic Watch Topic
  • New Topic

What is JVM?  RSS feed

 
Visualize Idiot
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, this is my first post. So i would like to learn more about JVM in deep. I know what JVM abbreviation(Java Virtual Machine) & what it does(generate bytecode). that can run any platform. This far i know.

Please do provide very in deep notes or your personal notes abt JVM or provide some link to learn in deep.

Anything in fine. Just, i should able to understand JVM inside, out completely.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66307
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Question of the "What is ..." nature are often best answered with a quick google search (try "What is the JVM") or a peek at the Wikipedia entry: JVM.
 
Maneesh Godbole
Bartender
Posts: 11445
18
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Moving to the beginners forum.

Consider yourself to be Hernan Cortes. You have just landed on the shores of Latin America.
You have one mission. Conquer, loot and destroy.
You encounter the Aztecs. You wish to tell them "Surrender...or else!" Since you don't speak their language, you hire an interpreter who translates between you and the Aztecs.
After subjugating the Aztecs, you move on and encounter the Incas. Same story, same solution. Interpreter.
As you can see the interpreter is the common entity. However, the type of interpreter is different. Spanish <->Aztec Language and Spanish<->Inca language. Both serve the same purpose but do it differently. Interesting to note here, is Hernan's ultimatum. "Surrender...or else!" is the same in both the cases, in Spanish.

Now consider your Java application. It needs the underlying OS to run/execute.
Run it on Mac via the Mac JVM and run it on Ubuntu via the Ubuntu JVM.

Your application is Cortes.
The JVM are the interpreters.
Mac and Ubuntu are the Incas and Aztecs.

Of course this is a very high level overview to give you an idea. For more concise and detailed information, follow the links Bear provided.
 
Ivan Jozsef Balazs
Rancher
Posts: 999
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Maneesh Godbole wrote:
You encounter the Aztecs. You wish to tell them "Surrender...or else!"


An interesting and well elaborated metaphor!
 
manish ghildiyal
Ranch Hand
Posts: 136
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I know what JVM abbreviation(Java Virtual Machine) & what it does(generate bytecode).


No, JVM doesn't generate bytecode....that is compiler's job.
JVM loads that bytecode and executes it.

Manish
 
Ivan Jozsef Balazs
Rancher
Posts: 999
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
JVM loads that bytecode and executes it.


And performs just-in-tome compilation: compiles some byte code portions into native code in order to achieve better performance.
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ivan Jozsef Balazs wrote:And performs just-in-tome compilation:

Ah, so that would be where it puts all its results in an e-book would it?

Winston
 
Visualize Idiot
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks all for correcting me. JVM executes bytecode. So now What is this " JIT(Just in-time Compiler) " & what it does ? Native code in the sense ??
 
Ulf Lindqvist
Ranch Hand
Posts: 36
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ivan Jozsef Balazs wrote:
JVM loads that bytecode and executes it.


And performs just-in-tome compilation: compiles some byte code portions into native code in order to achieve better performance.


A JVM can do optimizations but to the best of my knowledge isn't required to do so.

It's a bonus if it does.
 
Ivan Jozsef Balazs
Rancher
Posts: 999
5
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Lindqvist wrote:
A JVM can do optimizations but to the best of my knowledge isn't required to do so.

It's a bonus if it does.



The SUn/Oracle JVM branded Java HotSpot(TM) has been doing it since many versions.

Java version history

2SE 1.2 (December 8, 1998)

Codename Playground. This and subsequent releases through J2SE 5.0 were rebranded retrospectively Java 2 and the version name "J2SE"
(Java 2 Platform, Standard Edition) replaced JDK to distinguish the base platform from J2EE (Java 2 Platform, Enterprise Edition)
and J2ME (Java 2 Platform, Micro Edition). This was a very significant release of Java as it tripled the size of the Java platform to 1520 classes in 59 packages.
Major additions included:

strictfp keyword
the Swing graphical API was integrated into the core classes
Sun's JVM was equipped with a JIT compiler for the first time
Java plug-in
Java IDL, an IDL implementation for CORBA interoperability
Collections framework

J2SE 1.3 (May 8, 2000)

Codename Kestrel. The most notable changes were:

HotSpot JVM included (the HotSpot JVM was first released in April 1999 for the J2SE 1.2 JVM)

 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!