Runtime Class Extractor for Virtual Machine Footprint Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In enterprise-level software applications, efficiently identifying and extracting only the necessary runtime classes from multiple modules or JAR files to reduce system footprint and improve performance is challenging due to complex dependency relationships and the time-consuming process of analyzing source code.
Innovation Solution
A runtime class extractor is introduced that uses a record class loader to dynamically track and extract runtime classes based on context information, allowing for the creation of minimal sets of classes required for specific functionalities without modifying the original class loader or application code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all modules or JAR files are loaded into the virtual machine, then the application has complete functionality, but the system footprint increases and performance decreases
Solution Approach 1:
The patent extracts only the necessary runtime classes from multiple modules or JAR files that are actually used by the application. The class loader records context information for each loaded class and extracts only those classes that are required, leaving out unused classes. This extraction principle directly resolves the contradiction by separating necessary functionality from unnecessary bloat, reducing system footprint while maintaining required adaptability.
2Manufacturing precision
If source code analysis is performed to identify required classes, then the necessary classes can be extracted, but the process becomes time-consuming
Solution Approach 1:
The patent performs preliminary action by having the class loader automatically record context information for each runtime class as it is loaded during normal application execution. This preliminary recording of class loading patterns and dependencies eliminates the need for time-consuming source code analysis later, while still achieving accurate identification of required classes through the recorded context information.
Solution Approach 2:
The class loader serves itself by automatically tracking and recording its own class loading activities and context information. Instead of requiring external analysis tools to examine source code, the class loader autonomously monitors which classes it loads and records their context, enabling automatic identification of necessary classes without manual intervention or lengthy analysis processes.
3Productivity
If a record class loader is implemented to track runtime classes, then necessary classes can be identified, but the class loader complexity increases
Solution Approach 1:
The patent merges the class loading function with the class tracking function into a single record class loader. Instead of having separate components for loading classes and recording their context information, the patent combines these functions so that the class loader simultaneously performs both tasks. This merging reduces overall system complexity while maintaining high productivity in class extraction, as the dual functionality is achieved within one unified component.
Data Source
AI summary
An application running on a virtual machine includes a plurality of runtime classes. A class loader can load one or more runtime classes of the plurality of runtime classes into the virtual machine to support an operation on the application. In addition, the class loader can record a context information for each runtime class of the one or more runtime classes. Based on the recorded context information of each runtime class, the one or more runtime classes can be extracted.


