This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
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 Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "why JVM different?" Watch "why JVM different?" New topic
Author

why JVM different?

ravi_be
Greenhorn

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: 4340
    
    2

ravi_be,
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 http://www.javaranch.com/name.jsp
please register again with a valid name.
In particular, you need two names seperated by a space.


SCJP
Visit my download page
Manfred Leonhardt
Ranch Hand

Joined: Jan 09, 2001
Posts: 1492
Hey Randall,
Java is platform independent, but not browser independent!
Manfred.
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?
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: why JVM different?
 
Similar Threads
String doubt
JVM doubt
why?a=a++ the result value of a is different between java and c
JVM platform independent or platform dependant?
JVM doubt