Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>There is a lot to discuss on this question. I always like the articles from IBM since it contains very good information. For this specific question, here is an excerpt.</p> <p>From <a href="http://publib.boulder.ibm.com/infocenter/javasdk/v5r0/index.jsp?topic=%2Fcom.ibm.java.doc.diagnostics.50%2Fdiag%2Fproblem_determination%2Faix_mem_heaps.html"><em>The native and Java heaps</em> article on IBM</a>:</p> <blockquote> <p>The JVM maintains two memory areas, the Java™ heap, and the native (or system) heap. These two heaps have different purposes and are maintained by different mechanisms.</p> <p>The Java heap contains the instances of Java objects and is often referred to as 'the heap'. It is the Java heap that is maintained by Garbage Collection, and it is the Java heap that is changed by the command-line heap settings. The Java heap is allocated using mmap, or shmat if large page support is requested. The maximum size of the Java heap is preallocated during JVM startup as one contiguous area, even if the minimum heap size setting is lower. This allocation allows the artificial heap size limit imposed by the minimum heap size setting to move toward the actual heap size limit with heap expansion.</p> <p>The native, or system heap, is allocated by using the underlying malloc and free mechanisms of the operating system, and is used for the underlying implementation of particular Java objects; for example:</p> <ul> <li>Motif objects required by AWT and Swing</li> <li>Buffers for data compression routines, which are the memory space that the Java Class Libraries require to read or write compressed data like .zip or .jar files.</li> <li>Malloc allocations by application JNI code</li> <li>Compiled code generated by the Just In Time (JIT) Compiler</li> <li>Threads to map to Java threads</li> </ul> </blockquote> <p>Hope it helps you understand.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload