Garbage Collection Startup with Shared Data Reference Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection processes in object-oriented computing systems are incompatible with shared data loading techniques like CDS due to dynamic reference modifications and memory layout changes, leading to inconsistencies in memory mapping across instances.

Innovation Solution

A system loads elements on a background data area following a pre-arranged sequence using background and runtime data threads, allowing for concurrent and lazy loading while maintaining reference integrity, and adapts reference configurations to match the selected garbage collection process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection processes dynamically modify references and memory layouts, then memory management efficiency is improved, but compatibility with shared data loading techniques deteriorates

Engineering Contradiction:
Improvememory management efficiencyVSAvoidcompatibility with shared data loading
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system segments the data loading process into two distinct phases: a background data loading phase that prepares data structures in advance, and a runtime phase that utilizes pre-configured reference patterns. This segmentation allows garbage collection to operate during background loading without interfering with runtime shared data access, resolving the contradiction between dynamic memory management and shared data compatibility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary configuration of reference patterns during background data loading before the application runtime begins. By pre-establishing the structural relationships and reference patterns that garbage collection will need, the system enables efficient dynamic memory management while ensuring compatibility with shared data loading techniques at runtime

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If static memory layout is used for shared data loading, then compatibility with garbage collection is improved, but memory access speed deteriorates

Engineering Contradiction:
Improvecompatibility with garbage collectionVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system implements dynamic reference patterns that are configured in advance during background loading but remain flexible during runtime. The reference patterns adapt to garbage collection operations while maintaining optimized access paths for shared data, resolving the contradiction between static layout compatibility and dynamic access speed requirements

Inventive Principle:
Principle #15Dynamics

3Loss of time

If background data loading is performed, then startup time is reduced, but memory initialization complexity increases

Engineering Contradiction:
Improvestartup timeVSAvoidmemory initialization complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system introduces an intermediary background data loading process that acts as a mediator between data preparation and runtime execution. This intermediary phase handles the complex memory initialization tasks in advance, allowing the runtime system to operate with simplified access patterns while still benefiting from reduced startup time

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20260064468A1Commencing Execution Of Garbage Collection Processes
Publication Date: 2026.03.05 ORACLE INT CORP
  • US20260064468A1 patent drawing
  • US20260064468A1 patent drawing
  • US20260064468A1 patent drawing

AI summary

A system loads a set of elements on a runtime data area and associates the set of elements with a set of memory addresses that point directly to a set of memory blocks allocated for the set of elements on the runtime data area. The system determines a trigger for commencing executing a garbage collection process. Responsive to determining the trigger, the system determines a reference configuration for configuring references for the garbage collection process and associates the set of elements with a set of references that conform to the reference configuration. Subsequent to associating the set of elements with the set of references, the system commences executing the garbage collection process. The garbage collection process includes, concurrently while loading elements on the runtime data area, reclaiming memory allocated for elements that are unreachable on the runtime data area.