In this tutorial we will discuss about Java’s heap space. To begin with, the Java Virtual Machine (JVM) is the execution component of the Java Runtime Environment (JRE) that executes the bytecode residing in a Java .class file. While executing an application, new objects are created. The heap space is where all new objects are stored, while the application is being executed by the JVM. When an application requires the creation of a new object, the JVM is responsible for allocating the necessary space. Thus, the JVM allocates a contiguous area of heap memory, in order for the new object to be stored. The Java heap space is generally located at the bottom of the address space and move upwards, as new objects are being created.