How java is platform independent?
Answer Posted / sushil vashist
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 ? | 0 Yes | 0 No |
Post New Answer View All Answers
What is the program development process?
can java object be locked down for exclusive use by a given thread? Or what happens when a thread cannot acquire a lock on an object? : Java thread
What is the abstract class?
Can we extend a class with private constructor?
What is the exact difference in between unicast and multicast object? Where we will use?
Can we execute a program without main() method?
I want to print “hello” even before main is executed. How will you acheive that?
Which method you will use to create a new file to store some log data. Each time a new log entry is necessary, write string to the file in java ?
How is the marker interface used in Java?
What is the char data type?
Name container classes in java programming?
Why packages are used?
What is the static keyword?
Can finally block be used without a catch?
What is the difference between JDBC 1.0 and JDBC 2.0?