Aqua Phoenix
     >>  Lectures >>  Java 1  


1.1 Java Background / History

Java was developed at Sun Microsystems in the early 1990s. Initially its goal was to be the software platform of consumer devices, which in the 1990s were already fully controlled by sophisticated software. However, they lacked a common platform, not only among similar products (VCR vs. TV vs. Amplifier remotes), but certainly among different products (Microwave vs. Fridge vs. TV). Importance was placed on reliability as opposed to speed. However, this project failed, and the so far created programming language Oak was quickly changed in its use for the then emerging World Wide Web. Consequently, the name was changed to Java, and the Java Virtual Machine made its way to Web browsers. The first major break-through of Java was seen in Java Applets embedded in web pages. (graphical applets were effectively the goal of creating common electronic consumer product interfaces).

Since, Java has grown by quite a bit - its cross-platform compatibility, and easy development are very popular. In its first version, Java featured the Abstract Windowing Toolkit (AWT), a set of classes that allowed for Graphical User Interface (GUI) programming. AWT has since been extended by Swing, which includes a more advanced and richer set of GUI components.

One of its main advantages is the simplicity and speed of producing a working program. Moreover, Java has been extended by many packages and libraries for many purposes, for example:

  • Java 3d
  • Cryptography
  • Communication (Serial, Parallel ports)
  • Database access (JDBC)
  • Java Media Framework (Audio, Video) (JMF)
  • Telephony
  • Web Start (on-line Java applications)
  • RMI (Server/Client framework)
  • etc.

One of its major shortcomings is its speed. Because Java programs rely on the Java Virtual Machine (JVM), an additional layer of complexity exists between the code and the processor.

1.1.1 Java Versions

Java has a vast number of versions and releases, when in fact there are only 2 major versions: Java and Java2. Java is the original version which does not include Swing. Java2 does include Swing, and is further split into many sub-versions.
  • JDK 1.1 (the original)
  • J2SE 1.2.2 (i.e. Java 1.2)
  • J2SE 1.3.0 (i.e. Java 1.3)
  • J2SE 1.4.2 (i.e. Java 1.4)
  • J2SE 1.5.0 (i.e. Java 1.5, or Java 5.0)

Among these version numbers, there are many releases, accounting for the improvements within a version number. As far as we're concerned, anything above and including Java 1.2 is Java2. Among all Java versions, syntax and methods do not change, although sometimes methods or classes become obsolete. When a method or class is obsoleted, then a replacement will be suggested in the documentation.

Java packages include the following:

  • JDK (Java Development Toolkit)
  • J2SE (Java2 Standard Edition)
  • J2EE (Java2 Enterprise Edition)
  • J2ME (Java2 Micro Edition)

There are differences between all of them, although the Java2 foundation exists in all J2 packages. JDK is the original Java package, and it sets the baseline for all applet programming.