
Java is a programming language developed by Sun Microsystems with the intention of enabling developers to build applications that work on a variety of operating system with ease.
Mac users cannot access a lot of PC software, and likewise PC users usually cannot make use of a lot of the software that was designed for Macs. Many applications built for Linux are not easy to get working on a PC. And so it goes… unless we are talking about software written in Java.
In Java, Sun Microsystems set out to create a programming language that would allow a developer build one software package, and allow anyone to easily use that software no matter what type of computer and operating system they have at home or in the office.
At the core of Java is a program called the Java Virtual Machine. The Java Virtual Machine, or JVM for short, is a program that enables an operating system to run software written in Java. The JVM pretends to be a virtual computer — Java programs pass instructions to the JVM, and the JVM turns around and hands those instructions off to the operating system (e.g. Windows, Mac OS). When the OS responds, the JVM hands that response back to the Java program.

Fig. 1 - A diagram of how Java works.
This three-way dialogue is what enables one Java program to work with many different operating systems. While a traditional program written in another language must understand how the underlying operating system works, a Java program doesn’t care. The JVM knows how to work with each different operating system, so a Java program need only understand how to interact with the JVM. Since the JVM works the same on every operating system, one version of a Java program is compatible with many different operating systems.



