When a java program started Java Virtual Machine gets some memory from Operating System. Java Virtual Machine(JVM) uses this memory for all its need and part of this memory is call java heap memory.
Heap in Java generally located at bottom of address space and move upwards.