IBM User Guide for Java V7 on Windows > IBM SDK for Java > The collector and the allocator > Allocation



Large Object Area

The Large Object Areas (LOA) is an area of the tenure area of the heap set used solely to satisfy allocations for large objects. The LOA is used when the allocation request cannot be satisfied in the main area (also known as the small object area (SOA)) of the tenure heap.

As objects are allocated and freed, the heap can become fragmented in such a way that allocation can be met only by time-consuming compactions. This problem is more pronounced if an application allocates large objects. In an attempt to alleviate this problem, the large object area (LOA) is allocated. A large object in this context is considered to be any object 64 KB or greater in size. Allocations for new TLH objects are not considered to be large objects. The large object area is allocated by default for all GC polices except -Xgcpolicy:balanced but, if it is not used, it is shrunk to zero after a few collections. It can be disabled explicitly by specifying the -Xnoloa command-line option.

The Balanced Garbage Collection policy does not use the LOA. Therefore, when specifying -Xgcpolicy:balanced, any LOA options passed on the command line are ignored. The policy addresses the issues of LOA by reorganizing object layout with the JVM to reduce heap fragmentation and compaction requirements. This change is contained completely within the JVM, and requires no knowledge or code changes in Java™.


Parent: Allocation








Error 404 - Not Found

Error 404 - Not Found

The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.