# JDK and JRE File Structure | JDK Tools

This document gives an overview of the JDK directories and the files they contain. This page may also be used as a reference for the file structure of the JRE. To see the file structure of the Runtime Environment, just look at the description of the contents of the JDK's `jre` directory on this page. The file structure of the JRE is identical to that of the JDK's `jre` directory.

## Development Files and Directories

> This section describes the files and directories that are required to develop apps for the Java 2 Platform. (The directories that are not required include demos, source code, and C header files. They are discussed in the following section, Additional Files and Directories.) The following chart shows the most important directories:

                   jdk1.5.0
            ___________|____________________
           |           |                    |
          bin         lib                  jre
           |           |          __________|_____________________
       java.exe    tools.jar     |                                |
       javac.exe   dt.jar       bin                              lib
       javap.exe            _____|____ __________         ________|_______ ________ ________
       javah.exe           |          |          |       |        |       |        |        |
       javadoc.exe     java.exe    client      server  rt.jar    ext  security  applet    fonts
                       java.dll       |          |   charsets.jar |
                       awt.dll     jvm.dll    jvm.dll        localedata.jar

> Assuming the JDK software is installed at `c:\jdk1.5.0`, here are some of the most important directories:

> > `c:\jdk1.5.0`
> >   The root directory of the JDK software installation. Contains copyright, license, and README files. Also contains `src.zip`, the archive of source code for the Java 2 platform.
> > `c:\jdk1.5.0\bin`
> >   The executable files for the development tools contained in the Java Development Kit. The PATH environment variable should contain an entry for this directory. For more information on the tools, see the JDK Tools.

> > `c:\jdk1.5.0\lib`
> >   Files used by the development tools. These include `tools.jar`, which contains non-core classes for support of the tools and utilities in the JDK. Also includes `dt.jar`, the DesignTime archive of BeanInfo files that tell interactive development environments (IDE's) how to display the Java components and how to let the developer customize them for the application.

> > `c:\jdk1.5.0\jre`
> >   The root directory of the Java runtime environment used by the JDK development tools. The runtime environment is an implementation of the Java 2 platform. This is the directory represented by the `java.home` system property.

> > `c:\jdk1.5.0\jre\bin`
> >   Executable files and DLLs for tools and libraries used by the Java platform. The executable files are identical to files in `/jdk1.5.0/bin`. The java launcher tool serves as an application launcher, in place of the old jre tool that shipped with 1.1 versions of the JDK software. This directory does not need to be in the PATH environment variable.

> > `c:\jdk1.5.0\jre\bin\client`
> >   Contains the DLL files used by the Java 2 HotSpot Client Virtual Machine.

> > `c:\jdk1.5.0\jre\bin\server`
> >   Contains the DLL files used by the Java HotSpot Server Virtual Machine.

> > `c:\jdk1.5.0\jre\lib`
> >   Code libraries, property settings, and resource files used by the Java runtime environment. Includes:
> > - `rt.jar` -- the bootstrap classes (the RunTime classes that comprise the Java platform's core API).
> > - `charsets.jar` -- character conversion classes.
> >   Aside from the `ext` subdirectory (described below) there are several additional resource subdirectories not described here.

> > `c:\jdk1.5.0\jre\lib\ext`
> >   Default installation directory for Extensions to the Java platform.
> > - `localedata.jar` -- locale data for `java.text` and `java.util`.
> > `c:\jdk1.5.0\jre\lib\security`
> >   Contains files used for security management. These include the security policy (`java.policy`) and security properties (`java.security`) files.

> > `c:\jdk1.5.0\jre\lib\applet`
> >   Jar files containing support classes for applets can be placed in the `lib/applet/` directory. This reduces startup time for large applets by allowing applet classes to be pre-loaded from teh local file system by the applet class loader, providing the same protections as if they had been downloaded over the net.
> > `c:\jdk1.5.0\jre\lib\fonts`
> >   Contains TrueType font files for use by the platform.

## Additional Files and Directories

> This section describes the directory structure for the demos, Java source code, and C header files. Here is the directory structure:

                            jdk1.5.0
                     ___________|__________
                    |           |          |
                  demo      include     src.zip
                 ___|___ _________ __________
                |       |         |          |
              applets  jfc       jpda      plugin

> The additional directories shown above are:

> > `c:\jdk1.5.0\src.zip`
> >   Archive containing source code for the Java 2 platform.

> > `c:\jdk1.5.0\demo`
> >   Examples, with source code, that show you how to program for the Java platform.

> > `c:\jdk1.5.0\demo\applets`
> >   Applets that can be used on a Web page.

> > `c:\jdk1.5.0\demo\jfc`
> >   Examples that use Java 2DTM and JFC\Swing functionality.

> > `c:\jdk1.5.0\demo\jpda`
> >   Examples of using the Java Platform Debugging Architecture. Includes source code for the javadt and jdb utilities.

> > `c:\jdk1.5.0\demo\plugin`
> >   Contains demos for use with Java Plug-in product.

> > `c:\jdk1.5.0\include`
> >   C-language header files that support native-code programming using the Java Native Interface and the Java Virtual Machine Debugger Interface.

Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved. | Java Software