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

Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
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!