Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

duvida

alguem pode explicar mais a fundo essa parte da Stack e do Heap, ou onde os dados realmente moram na memoria?

1 resposta
solução!

Olá, Alexandre! Como vai?

A questão de como os dados são armazenados na memória é um tópico interessante e importante para entender melhor o funcionamento de linguagens de programação como o PHP. Vamos falar um pouco sobre a Stack e o Heap.

Stack (Pilha): A Stack é uma área de memória que armazena variáveis locais e chamadas de funções. É uma estrutura de dados organizada de forma que o último item adicionado é o primeiro a ser removido (LIFO - Last In, First Out). Quando uma função é chamada, suas variáveis locais são empilhadas na Stack. Quando a função termina, essas variáveis são removidas. A Stack é rápida e eficiente, mas tem um tamanho limitado.

Heap (Montão): O Heap é uma área de memória usada para alocação dinâmica. Objetos criados com new em PHP, por exemplo, são armazenados no Heap. Diferente da Stack, o Heap não segue uma ordem específica para adicionar ou remover dados, e seu tamanho é geralmente maior. No entanto, o acesso à memória Heap pode ser mais lento em comparação à Stack.

No contexto de PHP, quando você cria um objeto, ele é armazenado no Heap, e a variável que você usa para referenciar esse objeto na verdade contém um ponteiro para o local do objeto no Heap. Isso explica por que, quando você altera um objeto por meio de uma variável, todas as variáveis que referenciam esse objeto veem a alteração, já que todas apontam para o mesmo local na memória.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.