Java Memory Management Segmentation for Garbage Collection Stops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer programming, especially in Java, memory management is challenging due to the need for explicit memory allocation and deallocation, which can lead to memory leaks, illegal references, and long program stops during garbage collection, affecting system responsiveness and performance.

Innovation Solution

A memory management method that allows for the secure and efficient use of both garbage collected and non-garbage collected memory areas by determining if there are no references to data in the non-garbage collected memory before deallocating it, and moving referenced data to garbage collected memory to prevent program interruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If garbage collection is performed to automatically manage memory, then memory management burden is reduced, but program execution stops for long periods affecting system responsiveness

Engineering Contradiction:
Improvememory management burdenVSAvoidprogram execution stop time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The memory management system is segmented into two independent parts: a garbage-collected heap for automatic management and a non-garbage-collected heap for manual control. This segmentation allows the garbage collector to operate only on its designated portion, preventing full-program stops and improving system responsiveness while maintaining automatic memory management benefits.

Inventive Principle:
Principle #1Segmentation

2Extent of automation

If explicit memory allocation and deallocation is performed, then memory management control is improved, but programming complexity and error risk increase

Engineering Contradiction:
Improvememory management controlVSAvoidprogramming complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system merges automatic garbage collection with manual memory management by providing a unified heap interface that supports both allocation modes. Programmers can choose automatic or manual management per object without needing separate memory pools or complex annotations, reducing programming complexity while maintaining control.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Objects allocated in the non-garbage-collected heap automatically track their own reference counts and deallocation status. The system self-manages the complexity of tracking referenced data across memory boundaries, freeing programmers from manual bookkeeping while preserving explicit control capabilities.

Inventive Principle:
Principle #25Self-service

3Speed

If non-garbage collected memory is used to avoid GC stops, then system responsiveness is improved, but additional APIs and management complexity are required

Engineering Contradiction:
Improvesystem responsivenessVSAvoidAPI complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The heap interface is designed to be universal, supporting both automatic and manual memory management through the same allocation and access APIs. This multi-functionality eliminates the need for separate API sets, reducing complexity while enabling responsiveness improvements through selective manual management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Extent of automation

If garbage collected memory is used, then automatic memory reclamation is achieved, but program execution is interrupted by GC operations

Engineering Contradiction:
Improveautomatic memory reclamationVSAvoidprogram execution continuity
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

Different memory regions are assigned different management qualities: the garbage-collected heap provides automatic reclamation with localized GC operations that stop only relevant threads, while the non-garbage-collected heap provides continuous execution for time-critical operations. This local differentiation maintains automation benefits without sacrificing execution continuity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8898404B2Memory management method and computer
Publication Date: 2014.11.25 HITACHI LTD
  • US8898404B2 patent drawing
  • US8898404B2 patent drawing
  • US8898404B2 patent drawing

AI summary

A memory management method is provided to manage a memory in which areas of a garbage collected Java heap memory and a non-garbage collected external heap memory can be secured, by using a program executed by a processor in a computer. If it is judged that there is no reference to all data arranged in the external heap memory or starting point data of reference relations included in the all data, from data arranged outside the external heap memory, then the external heap memory is judged to be capable of being deallocated. As a result, it becomes possible to implement memory management in which garbage collection needing a long time program stop is not conducted and an additional API is not used.