Java is platform independent language
How?
Java
programming language provides platform independence, what does it mean ? It
means same Java program can be run on any platform or operating system e.g. Windows, Linux or Solaris without any change. This is the
great benefit for some one coming from platform dependent programming language
like C or C++ whose code needs to be ported for every single platform because
they use native libraries, which differ in every platform. Now question comes
how Java achieve platform independence, what makes Java programs running on
every platform without any change ? This is one of the most basis question Java
programmer ask when they start learning Java programming language. If you read further
you will come to know about class files, bytecode and Java virtual machine which together
provides platform independence to Java. One of the simplest analogy I can associate with platform independence is the person taking red carpet with him and instead of walking on floor, he always walks on red carpet, no matter where he is walking. That red carpet is the JVM, your Java program runs on JVM rather on any particular platform or machine.
Java Compilation and execution
Byte code is created when you compile Java program using Java compiler "javac" and byte code runs on JVM which is created by running "java" command. In detail when you run "java" command it creates Java virtual machine, loads Main class specified in command line and calls standard main method in java.
In summary
combination of byte code and JVM makes Java program platform independent. Write
once run everywhere was Java’s mantra when it started ruling programming world
in mid and late 90’s. Always remember, Java programs are platform independent but JVM is not. That's why you have different JVM and JRE installation for different platform e.g Mac, Windows, Linux or Solaris. Similarly their are different JVM for 32-bit and 64-bit machine.
Further Learning
Complete Java Masterclass
Java Fundamentals: The Java Language
Java In-Depth: Become a Complete Java Engineer!
Life Cycle of JVM :
ReplyDeleteWhen a Java application starts, a runtime instance is born. When the application completes, the instance dies. If you start three Java applications at the same time, on the same computer, using the same concrete implementation, you'll get three Java virtual machine instances. Each Java application runs inside its own Java virtual machine.
For Example :
If we have a Node manager which contains 3 Managed server having instance of JVM, then there will be 3 instance of JVM running on managed server, all of them will be pointing to the Node manager.
The source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes — the machine language of the Java Virtual Machine (Java VM). The java launcher tool then runs your application with an instance of the Java Virtual Machine.
Please chek the below UrL for the details :
http://javatopics77.blogspot.in/p/java-virtual-machine-jvm-introduction.html
This explains what is JVM and how does it work.Very useful info.
how to install JVM
ReplyDeleteAfter finding out how virtual machines enable platform independece can anyone help
ReplyDeletethis explanation perfectly cleared my confusion on how java is platform independent. Thank you.
ReplyDeletethank you so much.... so very useful
ReplyDelete