Overview of the Java(tm) Development Kit
Version 1.2 Beta 4

Introduction

This is Version 1.2, Beta Release 4 of the Java Development Kit. The Java Development Kit is a development environment for writing applets, applications, and other software that conform to the Java 1.2 Core API. The 1.2 API is still under development -- this Beta Release represents a preliminary specification of the 1.2 Java platform.

The Java Development Kit includes tools useful for developing and testing programs written in the Java programming language and running on the Java 1.2 platform. These tools are designed to be used from the command line. Except for appletviewer, these tools do not provide a graphical user interface.

The Java platform 1.2 offers many improvements and new features. At the same time, every effort has been made to support programs written for the 1.1 platform. Although some incompatible changes were necessary, most software written for Java platform 1.1 should migrate to Java platform 1.2 with no reprogramming.

In general, any software that ran correctly in platform 1.0 or Java platform 1.1 should run correctly in Java platform 1.2. Any failure to do so is considered a bug, except for a small number of cases where compatibility was deliberately broken. Some compatibility-breaking changes were required to close potential security holes to fix implementation or design bugs.

For a summary of changes, Changes in the Java Platform Since 1.1. For a summary of compatibility issues, see Java Development Kit: Compatibility with Previous Releases, on the Java Software web site.

The Java platform version 1.2 API offers new functionality and enhancements in the following areas:

Web Browser Support

Applets written with this JDK sofware release should run correctly in web browsers that support the Java 1.0 platform or Java 1.1 platform, provided the applet only uses available 1.0 or 1.1 APIs. However, this "downward" compatibility has not been extensively tested and cannot be guaranteed.

Some browsers provide a limited or incompatible implementation of the Java platform. To fully enable such browsers, use the Java Plug-in, which is included in the Java Runtime Environment product.

Bug Reports and Feedback

A vigorous, open testing and debugging process is an essential part of our development effort. You can participate by logging in to the Bug Parade Web Page on the Java Developer Connection Web Site. Here you can examine bug reports, submit your own bug reports, and tell us which bug fixes matter to you.

You can also send email directly to Java Software development engineers. A list of email addresses is available from the Java Software web site.

You should not seek technical support from Bug Parade or our development teams. For support options, see Support and Services on the Java Software web site.

Contents of the Java Development Kit

This section contains a general summary of the files and directories in the Java Development Kit. For specific descriptions, see JDK Software on Win32 Systems or JDK Software on Solaris Systems.

Development Tools
(In the bin subdirectory.) Programs that will help you develop, execute, debug, and document programs written in the Java programming language. For further information, see the development tools documentation.

Java Runtime Environment
(In the jre subdirectory.) An implementation of the Java 1.2 platform, including a Java virtual machine, class libraries, and other supporting files. These files support the execution of programs written in the Java programming language, including programs you develop, and those JDK development tools written in the Java programming language. For more information, see the Java Runtime Environment and Java Plug-in section.

Additional libraries
(In the lib subdirectory.) Additional class libraries and support files required by the development tools.

Demo Applets and Applications
(In the demo subdirectory.) Examples, with source code, of programming for the Java platform. These include examples that use Swing and other Java Foundation Classes. For more details, see Demos.

C header Files
(In the include subdirectory.) Header files that support native-code programming using the Java Native Interface and the Java Virtual Machine Debugger Interface.

Old Native Interface Headers
(In the include-old subdirectory.) Header files that support native-code programming using older interfaces. The header files in include-old are provided only for backward-compatibility. These interfaces are deprecated, unsupported and not available on all Java virtual machines.

Source Code
(In src subdirectory or src.zip archive file.) Java programming language source files for all classes in the Java 1.2 platform Core API. This source code is provide for information purposes only, to help developers learn and use the Java programming language. These files do not include platform-specific implementation code and cannot be used to rebuild the API libraries.

The source files are distributed as a ZIP archive, src.zip. On Win32, the installer automatically extracts the source files from the archive to the src directory. On Solaris, you must extract the source files manually, using a ZIP archive tool such as unzip from Info-ZIP. Source code for unzip is available from a variety of sources, including the Info-ZIP web site. Solaris-compatible executables for unzip are available from the following sources:

Walnut Creek CDROM (SPARC and x86): [http] [ftp]
ftp.uu.net (SPARC only)
Swiss SunSITE (SPARC and x86): [http] [ftp]

Do not modify Core API source files. To extend the behavior of the Core API, write subclasses of the Core API classes.

For Core API documentation, refer to the following sources:

Documentation
(In the docs subdirectory.) HTML files containing basic documentation for the JDK software, including references for the development tools.

Additional documentation for JDK software is available from the JDK 1.2 Beta 4 Documentation Web Page. Some documentation is available in a download bundle for offline browsing, including the Core API specification and descriptions of important features of the Java 1.2 platform. The document download bundles is designed to be installed in the docs directory.

The Java Runtime Environment and Java Plug-in

When you install the Java Development Kit, the installer gives you the option of installing a "public" version of the Java Runtime Environment. The "public" version of the Java Runtime Environment includes Java Plug-In software, which enables Netscape Navigator (version 3.0 or later for Win32 or Solaris) and Microsoft Internet Explorer (version 3.0 or later for Win32) to support the full Java 1.2 platform. This "public" Java Runtime Environment is separate from the "private" Java Runtime Environment included in the JDK software.

Why does the Java Development Kit come with two complete versions of the Java Runtime Environment? This reflects the two ways you can deploy a Java application:

Note that the "private" Java Runtime Environment is part of the JDK software and may not be redistributed. The "public" Java Runtime Environment is a separate product which you can redistribute, provided you observe the terms and conditions of the software license. (See the README and LICENSE files in the Java Runtime Environment installation directory.) You can obtain the Java Runtime Environment separately from the Java Development Kit. See the download page at the Java Developer Connection(sm) web site.

Java applications are run with the java launcher tool. (See the JDK Tool Documentation.) In previous releases, the java launcher tool was designed only for development work. A separate jre launcher tool was used to run deployed applications. In this release, a single launcher tool, java is used both for development work and for deployed applications, and is included both in the Java Development Kit and the Java Runtime Environment. The jre launcher tool has been removed from both the Java Development Kit and the Java Runtime Environment.

For more information on application deployment, see Deploying Java Applications.

For more information on Java Plug-in software, see the Java Plug-in Product Page on the Java Software web site.