作者
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 …
引用总数
学术搜索中的文章
DF Bacon, SJ Fink, D Grove - ECOOP 2002—Object-Oriented Programming: 16th …, 2002