You will get a memorable calculation among three:
- JDK(Java Development Kit)
- JRE(Java Runtime Environment)
- JVM(Java Virtual Machine)
Let's take a sip of JVM first.
JVM(Java Virtual Machine) came into existence to provide Platform Independence to Java.
When Java compiler generates Bytecode, OS doesn't know anything about Bytecode because it is Java's self-created code. OS cannot execute it.
So, Java needed a Machine to execute it's Bytecode, to fulfill this need JVM came. JVM provides an environment for the survival of Bytecode.
Remember that, JVM is platform dependent i.e. for every OS there is different JVM.
But there is a difference in old technologies and Java. Before Java, other technologies had not been allowed to make their compiler for every OS. Like Microsoft had not been allowed Linux or Unix to develop their Visual Basic's compiler. But SunMicrosystem made this possible. SunMicrcosystem first developed a unique compiler(javac) and allow any OS to develop JVM.
Now JVM making is damn easy rather compiler. Sunmicrosystem provides JVM making code to OS vendors. OS vendor just added their OS-specific code and a working JVM is ready, Really how easy is that.
Note: Because Sunmicrosystem develops and unique compiler i.e. there is only one compiler for java which produces unique bytecode so the code to develop Machine (JVM) which handles bytecode will be unique i.e. code which develop JVM would also be unique.
But from JDK 1.5, there is a concept of JRE(Java Runtime Environment).
In JRE, they just provide readymade virtual machine i.e. OS vendor has no more need to include OS specific code, It has already developed for each OS and uploaded on Oracle's official website. we only need to go on website, download JRE and start code.
JRE = JVM + 20% code of specific OS
JDK = JRE + Development tools
- JRE = JVM + 20% code of specific OS
- Development tools: java, javac, javap, javaw etc.
Development tools:
JAVA already provide some basic tools which are very useful for some basic operations like compilation, run, document generation etc. I am not going in detail here for those. These are:
JAVA already provide some basic tools which are very useful for some basic operations like compilation, run, document generation etc. I am not going in detail here for those. These are:
- java
- javac
- javap
- javaw etc..
Comments
Post a Comment