MAIN PAGE
LICENSE
DOWNLOAD
ONLINE ORDERING
SEND MAIL









































Make your applets smaller and faster!


J.Class Optimizer
© S. Sverdlov, 1999


    CONTENTS

    DESCRIPTION

    J.Class Optimizer (JCO) is a program, which allows appreciably to reduce the size of JavaTM class files and to speed up their load.

    J.Class Optimizer processes byte code files of Java Virtual Machine (JVM) (files with extension .class), produced by Java or other languages compilers. You can optimize both class files, which you have produced by compilation of the programs, and class files, the source code of which is inaccessible to you.

    Both application and applets can be optimized.

    J.Class Optimizer can process class files appropriate to the Java and Java Virtual Machine (JVM) specifications of versions 1.02 - 1.2.

    J.Class Optimizer

    • removes from class file unused fields, methods, strings, constants, attributes
    • optimizes a constant pool and byte code
    • removes the debug information

    The size of class file can be reduced up to 50%.

    REQUIREMENTS

    • Windows 95 (any version), or Windows 98, or Windows NT 4.0 running on Pentium CPU
    • 1 megabyte RAM
    • less than 0.5 megabyte of hard disk space

    USAGE

    J.Class Optimizer being the console 32-bit application is simple to use.

    Running

      To start J.Class Optimizer use in MS DOS session the command:

jco [keys] file(s) [keys]

      To optimize many files use wildcards * and ? in the file(s) parameter.

    Keys

      -dbg -- remove all debug information. The majority of compilers allow to include additional information in class file. It facilitates the program debugging, and improves diagnostics check, but is not necessary for execution of the debugged application or applet.

        Use of parameter -dbg is equivalent to -var -lin -src.

      -var -- remove local variables tables. The local variable table contains variable identifiers. The table is not necessary in the run time.

      -lin -- remove line number tables. While debugging the line number table allows to determine the place of the error in the source code. The table is not necessary in the run time.

      -src -- remove source file information. The name of the source file enters the class file by the compiler. This information is not necessary for the execution of the debugged class.

      -depr -- remove Deprecated attributes. Some classes (for example classes of JDK 1.1 and JDK 1.2) contain Deprecated attributes. These attributes can be used by the compiler for messaging. But this attribute is not necessary even if other class files are compiled with the given one. In the run time this attribute is not necessary.

      -synt -- remove Synthetic attributes. Some classes (for example classes of JDK 1.1 and JDK 1.2) contain attributes Synthetic. This attribute is used to compile the given class with other classes. In the run time this attribute is not necessary.

      -uattr -- remove undefined attributes. All attributes not defined as part of Java Virtual Machine specification must not affect the semantics of class or interface types. Java Virtual Machine implementations are required to silently ignore. Therefore such attributes can be removed.

      -max -- maximal reduction without removal of Synthetic attributes.

        Use of parameter -max is equivalent to -dbg -depr -uattr.

      -super -- maximal reduction including removal of Synthetic attributes.

        Use of parameter -super is equivalent to -max -synt.

      -noren -- disable members renaming (reduction decreases). When optimizing a class file J.Class Optimizer changes identifiers of some members of the class so that the size of the class file decreases, and the behaviour does not vary. The renaming also complicates reverse engineering. However, you are given the opportunity to forbid renaming.

      -nowarn -- ignore and no print warnings. In some cases warning messages are given by J.Class Optimizer. For example, when in class file there is an attribute not defined as part of Java Virtual Machine specification having unzero length. In this case optimization of a constant pool can result in the wrong interpretation of this attribute, if it is not removed (-uattr key). You can forbid the warning seal in similar situations.

      -old -- old file(s) keep old name(s). If the key -old is not specified (by default), the optimized class files will have extension .class, and the old (not optimized) files will receive extension .~class. If the key -old is specified explicit, the optimized class files will have extension .~class, and the old (not optimized) files will keep old extension (.class). It is recommended to use the key -old, if you are not sure, that you will take advantage of the optimization results.

      -tst -- optimization test without rewriting class file(s). If you only want to find out of reduction of the files size, use the key -tst.

      -help -- printing help.

    INSTALLATION

    J.Class Optimizer is distributed as self-extracting archive jco100-win32.exe. For installation make the following:

    1. Create the directory, where J.Class Optimizer will settle down and copy a file jco100-win32.exe in this directory.
    2. Run jco100-win32.exe.
    3. You can delele the file jco100-win32.exe.
    4. To start J.Class Optimizer, if the current directory is distinct from that, where the file jco.exe settles down, it is possible to do one of the three:
      1. Add the name of the directory, where jco.exe settles down to a PATH command of a file autoexec.bat. For example, if jco.exe is placed in the directory C:\JCO, in a PATH command of a file autoexec.bat it is possible to write down:
           PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\JCO
      2. Edit the file jco.bat so that the path to the file jco.exe is specified in it. Copy the file jco.bat in the directory, which has already been written down in a PATH command of the file autoexec.bat (for example, in the directory C:\WINDOWS). If J.Class Optimizer will settle down in the directory C:\JCO, in the file jco.bat there should be such line:
           C:\JCO\jco.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
      3. Copy files jco.exe and jco.key in the directory, which has already been written down in a PATH command of the file autoexec.bat (for example, in the directory C:\WINDOWS).

    Attention! The file jco.key should always settle down in one directory with a file jco.exe.

    UNISTALLATION

    For uninstallation it is enough to delete the J.Class Optimizer files.

    REGISTRATION

    This program is distributed as shareware (look at "license.txt" for details). Being unregistered, it carries out some functions only with use of the key -tst, giving out the warning. After you register (look at "order.txt" for details), we'll send you your personal registration code.

    TECHNICAL SUPPORT

    J.Class Optimizer is provided with support via e-mail. For technical support, please contact us at:

jco@mail.ru

    In the subject of your mail, please write JCO version number.

    JCO LINK

    If you use applets optimized by JCO on your pages, you can place link to J.Class Optimizer Home Page:

    <!-- begin of JCO button -->
       <A HREF="http://jco.da.ru">
          <IMG SRC="http://www.uni-vologda.ac.ru/~c3c/jco/jco88x31.gif"
             ALT="JCO Home" BORDER=0 HEIGHT=31 WIDTH=88>
       </A>
    <!-- end of JCO button -->


In case of any problem you can apply directly to the author of the program:

c3c@uni-vologda.ac.ru

This software is written
in programming language
Oberon-2

Oberon Home Page   

Compiled by
XDS & JOB
compilers

xds ltd.  


DOWNLOAD.RU
 

Java and all Java-based trademarks and logos
are trademarks or registered trademarks of
Sun Microsystems, Inc. in the United States
and other countries.