IP Library Granted Patent US 7,069,279
Granted Patent B1
US 7,069,279 · App. 10/287,858 · Granted Jun 27, 2006

Timely finalization of system resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,069,279
App. No.
10/287,858
Granted
Jun 27, 2006
Kind
B1
Abstract

A garbage collector, from time to time, and within a single cycle, determines objects that are eligible to have their associated memory freed; executes high-priority finalizers associated with such eligible objects as are determined; and after execution of a high-priority finalizer, deallocates the memory of the associated object. The garbage collector queues references to eligible objects that have non-high-priority finalizers in a list. After garbage collection is completed, a finalizer thread runs the queued non-high-priority finalizers and marks the associated objects as ready for deallocation. The garbage collector, during a subsequent cycle, then deallocates the memory associated with marked objects.

Claims (19)

1. A method for deallocating memory, comprising:

upon determining that an object associated with a high-priority finalizer capable of executing at a system level is eligible to have said object's memory freed, executing the high-priority finalizer;

deallocating, upon completion of said executing of said high-priority finalizer, said object's memory;

performing within one garbage collection cycle said deallocating and said executing to minimize latency;

executing, at indeterminate times, non-high-priority finalizers associated with objects eligible for deallocation, said objects becoming unreachable; and

freeing, at an indeterminate time relative to when an object's non-high-priority finalizer is executed, memory associated with said object.

2. The method of claim 1 , wherein the high-priority finalizer is executed by a garbage collector.

3. The method of claim 2 , wherein the garbage collector is a mark-and-sweep garbage collector.

4. The method of claim 1 , wherein the system is a shared object system which has access to objects of different applications.

5. The method of claim 1 , wherein said method executes within a Java Virtual Machine.

6. The method of claim 1 , wherein high-priority finalizers are identified using an existing method declaration attribute.

7. The method of claim 6 , wherein said existing method declaration attribute is “native”.

8. The method of claim 1 , wherein high-priority finalizers are identified through explicit calls to a system registration method during object creation.

9. A system for deallocating memory, comprising:

means for executing a high-priority finalizer capable of executing at a system level upon a determination that an object associated with said high-priority finalizer is eligible to have said object's memory freed;

means for deallocating said object's memory upon completion of said means for executing said high-priority finalizer, wherein said

means for reallocating and said means for executing perform the high-priority finalizer and reallocating in one garbage collection cycle to minimize latency;

means for executing, at indeterminate times, non-high-priority finalizers associated with objects eligible for deallocation, said objects becoming unreachable; and

means for freeing, at an indeterminate time relative to when an object's non-high-priority finalizer is executed, memory associated with said object.

Assignments (6)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0633 →
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2009
From: SAVAJE TECHNOLOGIES, INC.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022773/0173 →
SECURITY AGREEMENT Recorded Oct 27, 2006
From: SAVAJE TECHNOLOGIES, INC.
To: RIDGEWOOD SAVAJE, LLC
Reel/Frame 018442/0526 →
NOTICE OF GRANT OF SECURITY INTEREST Recorded Mar 26, 2004
From: SAVAJE TECHNOLOGIES, INC.
To: RRE VENTURES III, L.P.; RRE VENTURES III-A, L.P.; RRE VENTURE FUND III, L.P.
Reel/Frame 015124/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2002
From: RAU, LAWRENCE R.; NEWELL, CRAIG F.; BARRUS, FRANK E.
To: SAVAJE TECHNOLOGIES, INC.
Reel/Frame 013472/0122 →