A method and apparatus for pre-processing and packaging class files.
Embodiments remove duplicate information elements from a set of class
files to reduce the size of individual class files and to prevent
redundant resolution of the information elements. Memory allocation
requirements are determined in advance for the set of classes as a whole
to reduce the complexity of memory allocation when the set of classes are
loaded. The class files are stored in a single package for efficient
storage, transfer and processing as a unit. In an embodiment, a
pre-processor examines each class file in a set of class files to locate
duplicate information in the form of redundant constants contained in a
constant pool. The duplicate constant is placed in a separate shared
table, and all occurrences of the constant are removed from the respective
constant pools of the individual class files. During pre-processing,
memory allocation requirements are determined for each class file, and
used to determine a total allocation requirement for the set of class
files. The shared table, the memory allocation requirements and the
reduced class files are packaged as a unit in a multi-class file.
Een methode en een apparaat om klassendossiers voor te bewerken en te verpakken. De belichamingen verwijderen dubbele informatieelementen uit een reeks klassendossiers om de grootte van individuele klassendossiers te verminderen en overtollige resolutie van de informatieelementen te verhinderen. De de toewijzingsvereisten worden van het geheugen bepaald vooraf voor de reeks klassen als geheel om de ingewikkeldheid van geheugentoewijzing te verminderen wanneer de reeks klassen wordt geladen. De klassendossiers worden opgeslagen in één enkel pakket voor efficiënte opslag, overdracht en verwerking als eenheid. In een belichaming, onderzoekt een preprocessor elk klassendossier in een reeks klassendossiers om van dubbele informatie in de vorm van overtollige constanten de plaats te bepalen in een constante pool. De dubbele constante wordt geplaatst in een afzonderlijke gedeelde lijst, en alle voorkomen van de constante wordt verwijderd uit de respectieve constante pools van de individuele klassendossiers. Tijdens het voorbewerken, worden de vereisten van de geheugentoewijzing bepaald voor elk klassendossier, en gebruikt om een totale toewijzingseis ten aanzien van de reeks klassendossiers te bepalen. De gedeelde lijst, de eisen van de geheugentoewijzing en de minder zware klassendossiers worden verpakt als eenheid in een multi-class dossier.