File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes why JVM different? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "why JVM different?" Watch "why JVM different?" New topic

why JVM different?


Joined: Apr 18, 2001
Posts: 4
java is platform indipendent. Why JVM is different for windows,unix & etc.
Randall Twede
Ranch Hand

Joined: Oct 21, 2000
Posts: 4351

java is not as platform independent as we would like to believe. I wrote an applet that only works right in IE but not in Netscape. No one can figure out why either.
I hate to say this but, your name does not comply with the Javaranch naming guidelines which can be found at
please register again with a valid name.
In particular, you need two names seperated by a space.

Visit my download page
Manfred Leonhardt
Ranch Hand

Joined: Jan 09, 2001
Posts: 1492
Hey Randall,
Java is platform independent, but not browser independent!
Mike Curwen
Ranch Hand

Joined: Feb 20, 2001
Posts: 3695

The reason that Java is platform independent is the very reason that the JVM's need to be unique for each OS.
If you buy a printer, there is a printer driver that you need to install. This printer driver is the communication link between the printer and the operating system. It stands to reason that the driver's "printer-side" face is always the same, but the face that is "Operating System-side" will be different for every OS. One driver for Macs, one driver for Linux, one for Windows.

JVM's are exactly like printer drivers, only they allow a Java program to talk to the OS. So if you want to run a java program, the JVM's "Java-side" face is always the same, but the face for the "OS-side" must be different.

In Java bytecode, "System.out.println" is (probably) the same on every platform, and therefore the "Java-side" face to the JVM needs to understand only one way of receiving this command. But on the "OS-side" face, the operating system determines how you go about showing text. (or printing it out, or turning it into spoken word, etc...)

Does that help?
I agree. Here's the link:
subject: why JVM different?
It's not a secret anymore!