How java is platform independent?
Answer Posted / steve
Java was designed to not only be cross-platform in source
form like C, but also in compiled binary form. Since this is
frankly impossible across processor architectures Java is
compiled to an intermediate form called byte-code. A Java
program never really executes natively on the host machine.
Rather a special native program called the Java interpreter
reads the byte code and executes the corresponding native
machine instructions. Thus to port Java programs to a new
platform all that is needed is to port the interpreter and
some of the library routines. Even the compiler is written
in Java. The byte codes are precisely defined, and remain
the same on all platforms.
The second important part of making Java cross-platform is
the elimination of undefined or architecture dependent
constructs. Integers are always four bytes long, and
floating point variables follow the IEEE 754 standard for
computer arithmetic exactly. You don't have to worry that
the meaning of an integer is going to change if you move
from a Pentium to a PowerPC. In Java everything is guaranteed.
However the virtual machine itself and some parts of the
class library must be written in native code. These are not
always as easy or as quick to port as pure Java programs.
| Is This Answer Correct ? | 4 Yes | 1 No |
Post New Answer View All Answers
How do you clear a list in java?
What is the purpose of file class?
Explain the difference between association, aggregation and inheritance relationships.
What is scope & storage allocation of static, local and register variables? Explain with an example.
Can we make main() thread as daemon?
What is the common usage of serialization?
What is the difference between Java and C++?
Why java is call by value?
What do you understand by synchronization?
What is thread synchronization in java?
Can we sort a map in java?
How do you pass by reference?
What are internal variables?
Explain the difference between the public, private, final, protected, and default modifiers?
What is procedure overloading?