1
resposta

heap, pilha e memória

Muito legal! Acho importante acrescentar que o enderecamento de memoria nao depende só da linguagem de programação, pois de fato tudo em um computador é armazenado em enderecos nas memórias do pc, entre outros detalhes relacionados a engenharia de computação.

1 resposta

Oi, dev! Tudo bem?

De fato, o endereçamento de memória é um conceito fundamental que vai além da linguagem de programação e se estende a como o hardware e o sistema operacional gerenciam a memória do computador.

Para complementar sua observação, vamos lembrar que em Java, por exemplo, temos dois tipos principais de memória: a heap e a stack (pilha).

  1. Heap (Montante):

    • É usada para armazenar objetos e variáveis de instância.
    • A memória na heap é gerenciada pelo Garbage Collector, que automaticamente libera memória não utilizada.
    • Exemplo: Quando você cria um novo objeto com new, ele é alocado na heap.
      Pessoa pessoa = new Pessoa();
      
  2. Stack (Pilha):

    • É usada para armazenar variáveis locais e chamadas de métodos.
    • A memória na stack é gerenciada de forma LIFO (Last In, First Out).
    • Exemplo: Variáveis locais de um método são alocadas na stack.
      public void exemplo() {
          int numero = 10; // 'numero' é alocado na stack
      }
      

A interação entre heap e stack é crucial para o desempenho e a robustez das aplicações. Entender como esses tipos de memória funcionam pode ajudar a escrever código mais eficiente e a evitar problemas como vazamentos de memória.

Espero ter ajudado!

Um forte abraço e bons estudos!