1.1.2

Memória e Heap no Java

Em Java, a memória é gerenciada automaticamente pela JVM e dividida em áreas com responsabilidades distintas. Uma das mais importantes é o heap, que é a região onde os objetos são alocados durante a execução do programa. Sempre que um objeto é criado, ele é armazenado no heap, e as variáveis mantêm apenas referências para esses objetos.

Exemplo conceitual

User user = new User("Alice");

Explicação linha a linha

User user = new User("Alice");

Cria um novo objeto da classe User. Esse objeto é alocado no heap, enquanto a variável user armazena apenas uma referência que aponta para a posição de memória onde o objeto está localizado.

O heap é compartilhado por toda a aplicação e é gerenciado pelo garbage collector, que remove automaticamente objetos que não possuem mais referências ativas. Esse modelo libera o desenvolvedor da necessidade de alocar e liberar memória manualmente, mas torna essencial compreender referências e ciclo de vida dos objetos para evitar uso excessivo de memória.