Packed Objects, Object Layout & Value Types — a Survey

Java is often criticized for not supporting C-style structs. This makes it hard to efficiently implement certain types of data structures like for example arrays of small objects.

However, recently this problem has been addressed by several different approaches. My talk will briefly introduce Packed Objects , an extension available in IBM's Java SDK 8, Object Layout , a layout-optimized Java data structure package proposed by Gil Tene and Value Types , an OpenJDK proposal for small, immutable, identityless value types.

I will describe the commonalities and differences of the three approaches and explain how they can improve the memory overhead and locality of Java objects. Finally I will deep-dive into the implementation of the Object Layout library and explain how it can be transparently intrinsified and optimized in the HotSpot VM.

Attendees of my talk will become familiar with the development of an emerging Java technology. The will also get a good impression of what it means to implement such an extension in the Java Virtual machine and gain some insights into the HotSpot VM.

Volker Simonis, SAP

Works for SAP in the SAP JVM Technology group. He is an OpenJDK contributor from the very beginning and helped SAP and the SAP JVM team to engage in the OpenJDK project. He's the project lead of the OpenJDK PowerPC/AIX porting project, a JDK 8 committer and JDK 9 reviewer.