Java was claimed to be “Once write, execute everywhere”, but I wonder is it really everywhere?
The execution of java program relies on the JVM, and I don’t know how many operating systems support JVM.
I went to a oracle(previously sun) website to check for the specification of Java, it only have Windows, Linux and Solaris. Is that all? I’ve never heard people execute Java in VMS system. However, I don’t this is the list, it doesn’t have AIX, which I am sure it can run java program.
Oracle does not implement the JVM for all possible operating systems themself. Oracle has a JVM for Windows, Linux and Solaris but for other operating systems you have to go to the manufacturer of the operating system. HP has a JVM implementation for HP-UX, and IBM has a JVM implementation for AIX.
Until recently Apple had their own version of the JVM for Mac OS X but they are now working together with Oracle so that in the future Oracle will maintain the JVM for Mac OS X.
A few years ago I worked on a project where we used Java on OpenVMS, but it was poorly supported and buggy, and then we switched to Red Hat Enterprise Linux which worked much better and faster.