Class-Based Garbage Collection in Object-Oriented Programming Environments
TP3; Many garbage collection algorithms have been proposed, but few address the special needs of long-running server programs. Server applications usually run for years and spawn many threads, so they create and discard thousands of objects. Therefore, efficient garbage collection is especially impo...
Gespeichert in:
Veröffentlicht in: | 清华大学学报(英文版) 2003-12, Vol.8 (6), p.658-666 |
---|---|
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | TP3; Many garbage collection algorithms have been proposed, but few address the special needs of long-running server programs. Server applications usually run for years and spawn many threads, so they create and discard thousands of objects. Therefore, efficient garbage collection is especially important for those applications. This paper presents a class-based garbage collector for object-oriented programming environments that classifies objects by their types to achieve better gradualness. Grouping objects of the same type into a group, with a limited type-lock, a mutator cache and the lease protocol will reduce memory fragmentation, which is especially important for the efficiency of long-running server applications. This class-based collector partitions the heap space by type, which provides better concurrency than the traditional mark-sweep collector, and its reusable garbaged object pool also reduces the object allocation overhead. This paper also discusses the implementation details, such as the mutator cache and the lease protocol, and techniques to achieve better accuracy. |
---|---|
ISSN: | 1007-0214 |