The thread local areas are free chunks reserved from the heap and given to a Java thread for exclusive use. Small objects are allocated in thread local areas ( TLAs). Please see the documentation for -XXtlaSize and -XXlargeObjectLimit for more information. The limit for when an object is considered large depends on the JVM version, the heap size, the garbage collection strategy and the platform used, but is usually somewhere between 2 and 128 kB. This prevents objects from being promoted just because they were allocated right before a young collection started.ĭuring object allocation, the JRockit JVM distinguishes between small and large objects. The keep area contains the most recently allocated objects in the nursery and is not garbage collected until the next young collection. In R27.2.0 and later releases, a part of the nursery is reserved as a keep area. Typically, a young collection frees a given amount of memory much faster than an old collection or a garbage collection of a single-generational heap (a heap without a nursery). A young collection is designed to be swift at finding newly allocated objects that are still alive and moving them away from the nursery. The reasoning behind a nursery is that most objects are temporary and short lived. When the old space becomes full garbage is collected there, a process called an old collection. When the nursery becomes full, garbage is collected by running a special young collection, where all objects that have lived long enough in the nursery are promoted (moved) to the old space, thus freeing up the nursery for more object allocation. The nursery is a part of the heap reserved for allocation of new objects. The heap is sometimes divided into two areas (or generations) called the nursery (or young space) and the old space. For example Java methods, thread stacks and native handles are allocated in memory separate from the heap, as well as JVM internal data structures. Note that the JVM uses more memory than just the heap. During the garbage collection objects that are no longer used are cleared, thus making space for new objects. When the heap becomes full, garbage is collected. The heap is created when the JVM starts up and may increase or decrease in size while the application runs. Java objects reside in an area called the heap. For information about how to use command line options to tune the memory management system, see Tuning the Memory Management System.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |