All this content of software distribution should be packaged in a special way and stored under special directory structure. For example all Java class files should be packed into jar files so that applets can be downloaded quckly. Usually all these files come from different locations. Such operation should be carried out each time a new version of bug-fix release is produced. Since Java applications can be used on many platforms It is important to have the same packaging model for all the platforms including Windows and Unix.
Jar file is a regular zip file with additional information stored for each file inside archive.
This technology does not provide acceptable performance for large applications. With JDK1.1 applet classes can be packaged into one or several jar files which are downloaded much faster. Additionally jar files can be used to compress classes which further decreases download time. Jar files also serve another important function- code signing. However use of this tool is much less convenient than most developers may need.