JDK and JRE File Structure

JDK Tools

This page provides an introductory overview of the JDK directories and the files they contain. Note that the file structure of the JRE is identical to that of the JDK's jre directory.

Development Files and Directories

This section describes the most important files and directories required to develop applications for the Java platform.

(Note that some of the directories that are not required include demos, Java source code, and C header files. These are mentioned in the Additional Files and Directories section.)

 


          jdk1.6.0
   ___________|_________________
  |           |                 |
 bin         lib               jre
  |           |         ________|__________
java*     tools.jar    |                   |        
javac*    dt.jar      bin                 lib                
javap*                 |       ________ ___|___ _________ ________ _______       
javah*               java*    |        |       |         |        |       |    
javadoc*                    rt.jar    ext   security   i386    applet  fonts
                        charsets.jar   |              /    \
                                  localedata.jar  server  client
                                                            

Assuming the JDK software is installed at  /jdk1.6.0, here are some of the most important directories:

/jdk1.6.0
Root directory of the JDK software installation. Contains copyright, license, and README files. Also contains src.jar, the archive of source code for the Java platform.
/jdk1.6.0/bin
Executables for all the development tools contained in the JDK. The PATH environment variable should contain an entry for this directory. For more information on the tools, see the JDK Tools.
/jdk1.6.0/lib
Files used by the development tools. Includes  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 an application.
/jdk1.6.0/jre
Root directory of the Java runtime environment used by the JDK development tools. The runtime environment is an implementation of the Java platform. This is the directory referred to by the java.home system property.
/jdk1.6.0/jre/bin
Executable files for tools and libraries used by the Java platform. The executable files are identical to files in /jdk1.6.0/bin. The java launcher tool serves as an application launcher (and replaced the old  jre tool that shipped with 1.1 versions of the JDK). This directory does not need to be in the PATH environment variable.
/jdk1.6.0/jre/lib
Code libraries, property settings, and resource files used by the Java runtime environment. For example:
Aside from the ext subdirectory (described below) there are several additional resource subdirectories not described here.
/jdk1.6.0/jre/lib/ext
Default installation directory for Extensions to the Java platform. This is where the JavaHelp jar file goes when it is installed, for example.
/jdk1.6.0/jre/lib/security
Contains files used for security management. These include the security policy (java.policy) and security properties (java.security) files.
/jdk1.6.0/jre/lib/i386/client
Contains the .so file used by the Java HotSpotTM Client Virtual Machine, which is implemented with Java HotSpotTM technology. This is the default VM.
/jdk1.6.0/jre/lib/i386/server
Contains the .so file used by the Java HotSpotTM Server Virtual Machine.
/jdk1.6.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 the local file system by the applet class loader, providing the same protections as if they had been downloaded over the net.
/jdk1.6.0/jre/lib/fonts
Font files for use by platform.

Additional Files and Directories

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

                        jdk1.6.0
                 ___________|__________ _________
                |           |          |         |
              demo       include    src.jar     man
             ___|___ _________ __________ ________
            |       |         |          |        |
          applets  jfc       jpda     plugin     jni
       

The additional files and directories shown above are:

/jdk1.6.0/src.jar
Archive containing source code for the Java platform.
/jdk1.6.0/demo
Examples, with source code, that show you how to program for the Java platform.
/jdk1.6.0/demo/applets
Applets that can be used on a web page.
/jdk1.6.0/demo/jfc
Examples that use Java 2DTM and JFC/Swing components.
/jdk1.6.0/demo/jpda
Examples of using the Java Platform Debugging Architecture. Includes source code for the javadt and jdb utilities.
/jdk1.6.0/demo/plugin
Demos for use with the Java Plug-in product.
/jdk1.6.0/demo/jni
Example classes and C code that demonstrate access to poll(2) functionality from the Java platform.
/jdk1.6.0/include
C-language header files that support native-code programming using the Java Native Interface and the Java Virtual Machine Debugger Interface.
/jdk1.6.0/man
Contains man pages for the JDK tools.

Copyright © 2004-2006 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java Software