Java Technology

Java is a specification (Java Language Specification). A specification is usually a document with a set of requirements that an implementation has to satisfy. The Java Language Specification (henceforth, JLS) is now in its third edition. Note: Please visit the "More Information" section below to download all three previous JSL specifications in HTML, PDF, and PostScript formats. These downloads are highly recommended for interested readers.

The Java programming language is Sun's implementation of the JSL. The Java programming language is a general-purpose, concurrent, class-based, object-oriented language derived from C & C++ without some of its complexities and designed specifically for easy adoption.

The Java programming language and all related technology implementations continuously evolve through a process called Java Community Process (JCP). The JCP is primarily responsible for the development of the Java Technology as a whole and is open for anyone to participate. JCP itself is built on its own specification.

JCP handles the technology evolution though the Java Specification Requests (JSRs). JSRs are formal documents that describe proposed specifications and technologies to be added to the Java Platform. At any time there are JSRs in various stages of proposal/approval that potentially could become part of the Java Platform. A final JSR is an approved specification along with a reference implementation (implementation of the technology with source code).

Java Technology Platform

Java technology platform is an object-oriented, platform-independent, multithreaded programming environment. It is the foundation for Web and networked services, applications, platform-independent desktops, robotics, and other embedded devices. Java Technology comes in three different platform editions; they are described below:

Java Platform for Small/Mobile Devices (Java Micro Edition)

Java Micro Edition (ME) platform is a collection of technologies and specifications that can be combined to construct a complete Java run-time environment specifically to fit the requirements of small devices such as mobile phones, PDAs, set-top boxes and vehicle telematics. Over time the Java ME platform has been divided into two base configurations: one to fit small mobile devices and one targeted toward more capable mobile devices such as smart phones and set-top boxes.

The configuration for small devices is called the Connected Limited Device Configuration (CLDC) and the more capable configuration is called the Connected Device Profile (CDC).

Java Platform for Desktop (Java Standard Edition)

The Standard Edition of the Java Platform is designed specifically to develop secure, portable, high-performance applications for the widest range of desktop computing platforms possible, including Apple Macintosh, Linux, Microsoft Windows and Sun Solaris. Java Platform, Standard Edition (also known as Java 2 Platform) lets you develop and deploy Java applications on desktops and servers, and in today's demanding Embedded and Real-Time environments. Java Standard Edition is the foundation for Java Platform for Enterprise (Java Enterprise Edition). There are two principal products in the Java SE platform family:

  • Java SE Run-time Environment (JRE) - The JRE provides the libraries, Java virtual machine, and other components necessary for you to run applets and applications written in the Java programming language. This run-time environment can be redistributed with applications to make them free-standing.
  • Java Development Kit (JDK) - The JDK includes the JRE plus command-line development tools such as compilers and debuggers that are necessary or useful for developing applets and applications.

Java Technology for the Enterprise (Java Enterprise Edition)

Java Platform, Enterprise Edition (Java EE) is a set of coordinated technologies that significantly reduces the cost and complexity of developing, deploying, and managing multi-tier, server-centric applications. Building on the Java Platform, Standard Edition (Java SE); Java EE adds capabilities that provide a complete, stable, secure, and fast Java platform for the enterprise.