The following are some of the changes and have helped to reduce
startup time and decrease the amount of memory used by the
JavaTM 2 SDK and Java 2 Runtime Environment.
Swing Class Loading - In version 1.3, loading of some Swing classes
is delayed until they are actually needed by the runtime environment. In
version 1.2, Swing classes were loaded at startup regardless of whether the
classes were needed immediately. This change reduces startup time.
JAR File Memory Usage Rection - The way JAR files are indexed in memory
has been improved so that the memory cost of loading a
JAR file has been greatly reduced. The class libraries in rt.jar,
for example, occupied about 420 KB of memory when loaded in version 1.2, but
require only about 100 KB in version 1.3.
JTable - In version 1.3, loading of international date and number
formatting code by JTable is deferred until the internationalization code is
needed by the runtime environment. In version 1.2, class JTable loaded
the intenationalization code at startup, even if it was not needed immediately.
This change reduces startup time.
Size of DLLs Reduced - In version 1.3, the size of DLL libraries
have been reduced in terms of memory footprint (by about 280 KB) and
download size (by about 250 KB), with no detrimental effect on execution speed.
Remove Dependencies on Seldom-Used DLLs - In version 1.3, DLLs
that handle dialog boxes and drag-and-drop functionality are loaded only
if they are actually needed. In version 1.2, some of these libraries
were loaded at startup regardless of whether they would ever be used.
This change reduces startup time.
Reduce Memory Footprint Associated with Strings - In version 1.3
of the SDK, java.lang.String has been modified to load
the relatively small java.io.ObjectStreamField class for
handling serialization requirements. In 1.2, String loaded
the much larger java.io.ObjectStreamClass for this purpose.
The size of internal VM datastructures used by the client
virtual machine have been reduced.