| Author |
Difference between JRE & JVM
|
Srikantha Reddy Lankireddy
Greenhorn
Joined: Aug 30, 2007
Posts: 2
|
|
Sorry for starting the same old topic again... I searched on Internet, got some answers and more doubts. What is the difference between JVM and JRE? �Is JVM used to convert java file into byte code, and JRE is for interpreting that byte code as machine dependent binary code and executing that code? I came to know it is not correct, when I searched Net to know answer for this question. �If JVM & JRE, both are for interpreting and executing the byte code on a specific platform only, what are their respective duties? 1.Which performs Array bounds checking (JVM or JRE)? 2.Which restricts the program from doing malicious operations? To run your application, a user needs a Java virtual machine, the Java platform core classes, and various support programs and files. This collection of software is known as a runtime environment. (From http://java.sun.com/j2se/1.3/jre/README ) From above information, I am thinking that JVM only interprets the byte code and executes that and performs other things like garbage collection, bounds checking, etc. And JRE is just a name given for the combination of JVM + library classes + and other supporting files. Is my assumption correct? From this I am having another doubt; doesn�t the library classes (that we import into our program) become a part in our program when the program is converted into byte code? If they are outside to our program always, what does �imports� mean? I mean it should import the library classes we referred into our program� doesn�t it?
|
 |
Ernest Friedman-Hill
author and iconoclast
Marshal
Joined: Jul 08, 2003
Posts: 24057
|
|
Hi, Welcome to JavaRanch! Your final description of JVM vs. JRE is correct. Each class is always stored in a separate .class file. "import" does not add the library classes to your code; it just tells the compiler how to decide which classes your code refers to. So, for example, if you write a program that uses a class named "Date", you need to say import java.util.Date; or import java.util.*; or the compiler won't know that you mean java.util.Date, instead of some other class also named Date (like java.sql.Date, for example.)
|
[Jess in Action][AskingGoodQuestions]
|
 |
 |
|
|
subject: Difference between JRE & JVM
|
|
|