|
THE LISSADEMO APPLET. DRAWS RANDOM PATTERNS. |
|
|
|
OVERVIEW introduction | samples | timeline | standards | tools
Last updated: February 2005
These pages constitute an overview of Java, summarizing the major
developments and applications of the language to the current time.
Some general technical knowledge is assumed on the part of the
reader.
Use the navigation applet at the bottom of the page to reach the
various sections of the review quickly. You can get a static
version of the navigation control by clicking
here.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
introduction to the language Java is an object-oriented language derived from C++ with strong support for networking, threading, and component-oriented development. Java source code is compiled to a form called bytecode which is platform-independent. The bytecode is stored in .class files which can, potentially, be transferred across a network to machines of different types, and then converted by each machine to its native machine code using a VM (Virtual Machine). The VM may do that either by interpreting the bytecode (classic model) or by compiling and running it method by method (when the VM incorporates a JIT — Just-In-Time compiler). The key to Java's platform independence is simplicity. It achieves this by discarding some of C++ features and adding some of its own:
As Java is simpler and stricter than C++ it makes some compromises:
RESOURCES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
samples Here is a listing of the sample Java programs I have created and placed throughout these pages to illustrate the topics. Many of them are applets and can be run in IE and Netscape browsers. If you have any problems you can send a message to code@oranda.com with information on your browser, browser version, and operating system.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
timeline
An early Java Review from June 1996 including more historical information. Java News from Elliotte Rusty Harold with archives 1998-2005 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
standards
The JDK (Java Development Kit) 1.0, released in January 1996,
established the first major public Java standard, with a C++-like
syntax and a hierarchy of classes including support for
networking, streams, event handling, exception handling,
and threads, and GUI development with the AWT
(Abstract Windowing Toolkit). Soon afterwards the JDBC (Java Database
Connectivity) classes were introduced as a means of
communicating with databases.
The JDK 1.1 was a major advance, including the following
major improvements:
The JDK 1.2, released in December 1998, was an even greater advance.
Java was no longer just Java but Java 2 (an umbrella term also used
to cover subsequent releases such as 1.3, 1.4, and 5.0).
Improvements included:
The J2SE 1.3 (i.e. JDK 1.3) was not as big a release as
previous ones. It featured a broad range of incremental
improvements, including the introduction of
Timer and TimerTask,
increased CORBA support such as RMI over IIOP, introduction of a new Sound
API, and the relocation of JNDI to the core API.
The J2SE 1.4, released in 2002, again had a lot of incremental
improvements and the migration of javax libraries
to the core platform. Features included:
In 2004 J2SE 5.0 (renamed from J2SE 1.5) was a great release,
around the same importance as J2SE 1.2. There were not only API
changes but fundamental simplifications to the syntax of the language.
The major new features of 5.0 were:
RESOURCES
JDK 1.1 features (from JavaWorld)
JDK 1.2 features (from JavaWorld) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
tools Java's fundamental toolkit is the JDK, the latest version of which can be downloaded from Sun. As well as the VM, this includes command-line tools for compiling, debugging, creating documentation from source code comments (javadoc), creating compressed archives (JARs), and so on. Java programs can be written using any text editor, and frequently are. However, an IDE (Integrated Development Environment) is a useful tool for creating applications, because it lets you execute many common associated tasks (like compiling and running) by point-and-click, and provides many features like debugging and organizing projects. On the downside, there is some overhead involved in learning and maintaining your IDE, and the danger that you may become "locked into it" as you develop.
One popular IDE is Eclipse, written with IBM's SWT classes. I find
it to be generally a bit faster and more usable than Sun's NetBeans
(the successor to Forte).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Eclipse, NetBeans, IntelliJ IDEA and JBuilder are all frequently used IDEs. RESOURCES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||