Java Basics – do not worry if you do not understand this section fully (you can do all the work below without it)
Programming languages are typically written using text, called source code, using a text editor and translated, using a compiler or interpreter, into executable machine language object code which runs on specific platforms (machine types). Unlike many other programming languages Java source code is first translated (compiled) into byte code which is the same for different platforms. The Java Virtual Machine (JVM) is software that translates (interprets) and executes byte code on a particular platform. Byte code can be thought of as machine language for the JVM software machine. The JVM allows Java source code to be translated to byte code that is the same for different machines (platform independent).
Java source code is held in .java files and compiled into byte code in .class files for the JVM to execute.
[see http://chortle.ccsu.edu/java5/Notes/chap05/ch05_1.html to ch05_5.html for more detail]