The Java programming language was developed by Sun Microsystems with the goal of making it possible to develop and compile a program once, and then run it on a wide variety of machines and operating systems. This feature is essential for Web servers, but is also useful in itself. A Java program is thus compiled into a sequence of instructions for the Java virtual machine (JVM). In order to run a program on a computer, it is (theoretically) enough to install a program that can simulate the JVM.

To make it easier for programmers to migrate to Java, its designers based a lot of its syntax on the C/C++ languages. You are thus already able to understand most constructs in a Java program (even before reading these notes). There are, however, quite a few differences between Java and C++. Most of these relate to the way in which objects are handled. If you need to review the basic concepts of Objects and Classes, look here first.

This document is not meant to cover every detail of the Java programming language. See the references for pointers to books and Web sites that cover Java more extensively.