Method and apparatus for pre-processing and packaging class files
DC CAFCFirst Claim
1. A method of pre-processing class files comprising:
- determining plurality of duplicated elements in a plurality of class files;
forming a shared table comprising said plurality of duplicated elements;
removing said duplicated elements from said plurality of class files to obtain a plurality of reduced class files; and
forming a multi-class file comprising said plurality of reduced class files and said shared table.
2 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
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.
271 Citations
23 Claims
-
1. A method of pre-processing class files comprising:
-
determining plurality of duplicated elements in a plurality of class files; forming a shared table comprising said plurality of duplicated elements; removing said duplicated elements from said plurality of class files to obtain a plurality of reduced class files; and forming a multi-class file comprising said plurality of reduced class files and said shared table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product comprising:
a computer usable medium having computer readable program code embodied therein for pre-processing class files, said computer program product comprising; computer readable program code configured to cause a computer to determine a plurality of duplicated elements in a plurality of class files; computer readable program code configured to cause a computer to form a shared table comprising said plurality of duplicated elements; computer readable program code configured to cause a computer to remove said duplicated elements from said plurality of class files to obtain a plurality of reduced class files; and computer readable program code configured to cause a computer to form a multi-class file comprising said plurality of reduced class files and said shared table. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. An apparatus comprising:
-
a processor; a memory coupled to said processor; a plurality of class files stored in said memory; a process executing on said processor, said process configured to form a multi-class file comprising; a plurality of reduced class files obtained from said plurality of class files by removing one or more elements that are duplicated between two or more of said plurality of class files; and a shared table comprising said duplicated elements. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A memory configured to store data for access by a virtual machine executing in a computer system, comprising:
a data structure stored in said memory, said data structure comprising; a plurality of reduced class files associated with a plurality of corresponding classes, said plurality of reduced class files configured to be loaded by the virtual machine for execution of said plurality of classes; a shared table comprising one or more elements that are duplicated between two or more of said plurality of classes, said shared table configured to be loaded into the virtual machine to be accessed for said duplicated elements; and a memory requirement value configured to be read by a class loader of the virtual machine to allocate a portion of a runtime data area for loading said plurality of reduced class files and said shared table. - View Dependent Claims (21, 22, 23)
Specification