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...

Difference between JDK, JRE, JVM

Answer Posted / saravanakumar m

JDK (Java Development Kit)

Java Developer Kit contains tools needed to develop the Java
programs, and JRE to run the programs. The tools include
compiler (javac.exe), Java application launcher (java.exe),
Appletviewer, etc…

Compiler converts java code into byte code. Java application
launcher opens a JRE, loads the class, and invokes its main
method.

You need JDK, if at all you want to write your own programs,
and to compile the m. For running java programs, JRE is
sufficient.

JRE is targeted for execution of Java files

i.e. JRE = JVM + Java Packages Classes(like util, math,
lang, awt,swing etc)+runtime libraries.

JDK is mainly targeted for java development. I.e. You can
create a Java file (with the help of Java packages), compile
a Java file and run a java file
JRE (Java Runtime Environment)

Java Runtime Environment contains JVM, class libraries, and
other supporting files. It does not contain any development
tools such as compiler, debugger, etc. Actually JVM runs the
program, and it uses the class libraries, and other
supporting files provided in JRE. If you want to run any
java program, you need to have JRE installed in the system

The Java Virtual Machine provides a platform-independent way
of executing code; programmers can concentrate on writing
software, without having to be concerned with how or where
it will run.

If u just want to run applets (ex: Online Yahoo games or
puzzles), JRE needs to be installed on the machine.
JVM (Java Virtual Machine)

As we all aware when we compile a Java file, output is not
an 'exe' but it's a '.class' file. '.class' file consists of
Java byte codes which are understandable by JVM. Java
Virtual Machine interprets the byte code into the machine
code depending upon the underlying operating system and
hardware combination. It is responsible for all the things
like garbage collection, array bounds checking, etc… JVM is
platform dependent.

The JVM is called "virtual" because it provides a machine
interface that does not depend on the underlying operating
system and machine hardware architecture. This independence
from hardware and operating system is a cornerstone of the
write-once run-anywhere value of Java programs.

There are different JVM implementations are there. These may
differ in things like performance, reliability, speed, etc.
These implementations will differ in those areas where Java
specification doesn’t mention how to implement the features,
like how the garbage collection process works is JVM
dependent, Java spec doesn’t define any specific way to do
this.

Is This Answer Correct ?    2 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What does 3 dots mean in java?

982


What is the point of polymorphism java?

1009


What is the exact difference in between Unicast and Multicast object? Where will it be used?

1055


What is arguments in java?

1001


Define linked list and its features with signature?

996


What are different access specifiers in java? Explain

1121


What is parsing in java?

957


What are constructors in java?

1103


Is java platform independent?

971


How do you generate random numbers in java?

1004


What are instance variables?

1075


What do you understand by overloading and overriding in java?

1074


What about static nested classes in java?

1141


Why is a constant variable important?

950


What is runtime polymorphism or dynamic method dispatch?

1004