
Java SDK and Versions
So how do you get started developing Java applications? Most Java developers get their Java platform from
Sun (at java.sun.com) in the form of the Java Development Kit (JDK). The JDK includes the Java Runtime
Environment (JVM and Java API libraries). The JDK also includes a set of command-line development tools
used in developing Java applications. In particular, it includes a Java compiler, Java debugger, and Java
documentation tool.
The JDK does not provide a Java source code editor, so how does one write Java applications? Java source
code, as you’ll see, is simple text that does not require any special formatting. Therefore, any simple text
editor (Notepad, Textpad, vi, emacs, or any other) can be used to write and edit Java source code. Of course,
Java integrated development environments (IDEs) provide the same capabilities as a JDK but in a much more
friendly package. Java IDEs provide visual editors for writing Java code.
These powerful editors highlight the Java syntax used in your code and point out potential errors. The IDEs
also often provide code assistance by providing documentation of the Java API. The IDE editors help with
some development tasks, actually generating some of the code you need. IDEs can also test your application
and provide powerful GUI debuggers for tracking down issues and understanding how the code will execute.
Some of the more popular Java IDEs are listed below. You might note that many are “open source,” meaning
they are free!
• Eclipse (an open-source IDE started by IBM from www.eclipse.org)
• NetBeans (an open-source IDE from Sun at www.netbeans.org)
• IDEA (offered by IntelliJ at www.jetbrains.com)
• Rational Application Developer – RAD (the IBM/Websphere Eclipse-based IDE)
• Workshop Studio (the BEA Eclipse-based IDE)
Java is now open source. This means that Sun is not the only organization that can provide implementations
of the JVM, Java API, compiler, and so forth. You can even create your own! However, the Sun
implementations are still the most popular and widely used forms of the Java platform today.
Editions and Versions of Java
Unfortunately, one of the more complex aspects of Java is that there is no single Java platform. As you have
already learned, there are many different JVMs. A JVM is created for each hardware/OS platform. Given the
fact that Java runs on computers of all shapes and sizes, from mainframes to cell phones, there are literally
dozens of JVMs. In addition, there are several “editions” of Java.
Specifically, there are three editions of Java. Each of the three Java editions targets different kinds of
applications running on different types of hardware. The edition dictates the available Java API and what the
JVM can do on that hardware.
The Java Standard Edition (Java SE) is primarily for desktop-based applications. In the Java world, Java SE
is considered “base Java.” This is the edition of Java that is the focus of this class.
The Java Enterprise Edition (Java EE) is a super-set of Java SE. Java EE provides everything in Java SE and a
host of additional Java components (API) for developing server-based applications. Java EE includes APIs
for writing Web applications, accessing enterprise information systems, and building distributed applications.
Distributed applications are applications that run across several machines connected via a network. Java EE is
huge! Learning all of Java EE can be a lifelong endeavor.
Lastly, Java Micro Edition (Java ME) is Java for consumer electronics and embedded devices that have
limited power, memory, and connectivity. Java ME is the Java used on cell phones and PDAs. You can think
of Java ME as a general subset of Java SE, although this is not entirely true.
To make matters even more confusing, Java, like other software, has evolved over its existence. Therefore,
there are several “versions” of Java and the Java editions. Because this class focuses on Java SE, only
versions of Java SE are discussed below. Each version of Java is listed, along with some of the more
important features of each version. Although some of the features may not make sense at this point, you will
be familiar with many of the terms and technologies by the end of the class.
Java JDK 1.0 was released in 1995. This was a pre-edition Java release and provided the basis for the Java
platform known today. Java JDK 1.1 was released in 1996.
J2SE 1.2 was released in 1998. The idea of Java editions also came with this release. You might recognize the
slightly different name used for the edition. It used a version in the edition name. You will learn more about
the name shortly. This version was considered a major revision in Java and incorporated a number of
important new APIs, including the following:
Swing — Java’s current graphical user interface API
Collection API
Inner classes
J2SE 1.3 was released in 2000. This version included, among other API additions, the Java Naming and
Directory Interface (JNDI). It also included the Java Hotspot JVM, which was a JVM meant to improve
Java performance.
J2SE 1.4 was released in 2002.This was considered a pretty significant version of Java. This is the oldest
version of Java that can still be found in significant use today. This version included XML processing,
assertions, regular expression handling, and an improved input/output API.
Java SE 1.5, also known more appropriately today as Java SE 5, was released in 2004. In 2004, Sun
marketing decided to start to change the naming of Java editions and versions. The “2” version was dropped
from editions. They also decided it was time to change from dot releases (1.2, 1.3, 1.4, and so on) to version
numbers (5, 6, 7, etc.). Again, this was a significant major version of Java that included some significant
syntax changes. Added in this version were type-safe enums, generics and auto-boxing, static imports,
annotations, and variable-length arguments. Additional APIs, like the Java Management Extensions for
managing and monitoring applications, were also added.
Java SE 6 is the current release of the Java platform. It was first released in 2006. This is the version of Java
studied in this class. This version of Java did not introduce as many language changes or APIs as Java 5.0.
Most of the changes were made to improve performance substantially. It also added some conveniences like a
scripting API, JavaScript engine, and even a small footprint database, Java DB.
Java SE 7 is currently under development and is expected to be released in 2009.
Again, in this class you will learn and use Java SE, version 6.
Java SDK and Java Versions
Table of Contents
Copyright (c) 2008. Intertech, Inc. All Rights Reserved. This information is to be used exclusively as an
online learning aid. Any attempts to copy, reproduce, or use for training is strictly prohibited.
Courseware
Training Resources
Tutorials
Services