IntelliJ open source
[Logo] JavaRanch » Big Moose Saloon
  Search | FAQ | Recent Topics | Hot Topics
Register / Login


Reply Bookmark it! Watch this topic JavaRanch » Forums » Java » Beginning Java
 
RSS feed
 
New topic
Author

Difference between JRE and JVM

Abhijeet Pathak
Ranch Hand

Joined: Jul 05, 2009
Messages: 33

Can anyone tell me the exact difference between JRE and JVM?
If Java is platform independent language,then why do we need a JRE for running JAVA programs?

I am the one who knows that I don't know anything.
Abhijeet
Ernest Friedman-Hill
author
Sheriff

Joined: Jul 08, 2003
Messages: 21099

Java code is compiled to the machine language of an idealized computer called the Java Virtual Machine (JVM). To run Java code on a real computer, you need a program that implements the imaginary computer. The program "java.exe" is such a program.

The Java Runtime Environment (JRE) is a JVM, plus the various libraries of class files and their native code that are needed to support the full Java API. The file java.exe by itself is not actually enough to run a Java program -- you need a full JRE.

Regarding platform independence: Java bytecode will run on any JRE. You can implement the JRE on virtually any real computer, and this makes Java code binary compatible across all those platforms.



[Jess in Action][My Art][AskingGoodQuestions]
Campbell Ritchie
Bartender

Joined: Oct 13, 2005
Messages: 14987

And welcome to JavaRanch
Jesper Young
Java Cowboy
Bartender

Joined: Aug 16, 2005
Messages: 7862

You can compare it to a car: The JVM (Java Virtual Machine) is the motor. But if you want to go anywhere, you need more than just a motor. The JRE (Java Runtime Environment) is the complete car, including the motor. So to run Java programs, you need a JRE, and not only a JVM.

Java Beginners FAQ - JavaRanch SCJP FAQ
The Java Tutorial - Java SE 6.0 API documentation
 
 
 
Reply Bookmark it! Watch this topic JavaRanch » Forums » Java » Beginning Java
 
RSS feed
 
New topic
replay challenge