Why Java is a platform independent language?
Answer Posted / rani
Java solves the problem of platform-independence by using
byte code. The Java compiler does not produce native
executable code for a particular machine like a C compiler
would. Instead it produces a special format called byte
code. Java byte code written in hexadecimal, byte by byte,
looks like this:
CA FE BA BE 00 03 00 2D 00 3E 08 00 3B 08 00 01 08 00 20 08
This looks a lot like machine language, but unlike machine
language Java byte code is exactly the same on every
platform. This byte code fragment means the same thing on a
Solaris workstation as it does on a Macintosh PowerBook.
Java programs that have been compiled into byte code still
need an interpreter to execute them on any given platform.
The interpreter reads the byte code and translates it into
the native language of the host machine on the fly. The most
common such interpreter is Sun's program java (with a little
j). Since the byte code is completely platform independent,
only the interpreter and a few native libraries need to be
ported to get Java to run on a new computer or operating
system. The rest of the runtime environment including the
compiler and most of the class libraries are written in Java.
All these pieces, the javac compiler, the java interpreter,
the Java programming language, and more are collectively
referred to as Java.
| Is This Answer Correct ? | 118 Yes | 34 No |
Post New Answer View All Answers
What does yield method of the thread class do?
can I implement my own start() method? : Java thread
Explain the private protected method modifier?
What is the latest java version?
Can we sort list in java?
How is hashset defined in java?
Write a program to print fibonacci series up to count 10.
What is a loop java?
What is hash code collision?
Is {a, n, d} a palindrome? If you are given a random string, is it a palindrome or not?
Why string is immutable or final in java
If an application has multiple classes in it, is it okay to have a main method in more than one class?
What is a generic type?
What is constructor chaining in java?
Is constructor inherited?