Obtem o tamanho atual da heap em bytes
long heapSize = Runtime.getRuntime().totalMemory();
Obtem o tamanho máximo da heap em bytes. A heap não pode ultrapassar este tamanho. Se o tamanho máximo for ultrapassado, será apresentado o erro OutOfMemoryException.
long heapMaxSize = Runtime.getRuntime().maxMemory();
Obtem memória livre na heap. O espaço livre irá aumentar após a chamado do garbage collection e diminuirá a medida que novos objetos são criados.
long heapFreeSize = Runtime.getRuntime().freeMemory();