作者
David F Bacon, Stephen Fink, David Grove
发表日期
2002/6
期刊
ECOOP 2002—Object-Oriented Programming
页码范围
13-27
出版商
Springer Berlin/Heidelberg
简介
While many object-oriented languages impose space overhead of only one word per object to support features like virtual method dispatch, Java’s richer functionality has led to implementations that require two or three header words per object. This space overhead increases memory usage and attendant garbage collection costs, reduces cache locality, and constrains programmers who might naturally solve a problem by using large numbers of small objects.
In this paper, we show that with careful engineering, a high-performance virtual machine can instantiate most Java objects with only a single-word object header. The single header word provides fast access to the virtual method table, allowing for quick method invocation. The implementation represents other per-object data (lock state, hash code, and garbage collection flags) using heuristic compression techniques. The heuristic retains two …
引用总数
200220032004200520062007200820092010201120122013201420152016201720182019202020212171398107695581335233
学术搜索中的文章
DF Bacon, SJ Fink, D Grove - ECOOP 2002—Object-Oriented Programming: 16th …, 2002