清华大学学报(英文版)
清華大學學報(英文版)
청화대학학보(영문판)
TSINGHUA SCIENCE AND TECHNOLOGY
2003年
6期
658-666
,共9页
张武生%黄启峰%沈美明%郑纬民
張武生%黃啟峰%瀋美明%鄭緯民
장무생%황계봉%침미명%정위민
garbage collection%class-based object management%mutator cache%lease protocol
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.