Dúvida Conceitual de Arrays!

5 respostas
rmala_ti

Salve galera do GUJ!
Estou com uma grande dúvida que foi gerada pelo livro da Kathy.
Eu estudei sobre pilha e heap no capítulo 2 e lá está bem claro pra mim o seguinte:

[list] VARIÁVEIS DE INSTÂNCIA E OBJETOS são armazenados no HEAP[/list]
[list] VARIÁVEIS LOCAIS E MÉTODOS são armazenados na PILHA[/list]

Acontece, que no capítulo 3 na parte de Declaração, Criação e Inicialização de Arrays é dito que os Arrays ficam na PILHA! :oops:

Pelo meu entendimento esta última afirmação está errada, já que o Array é um objeto, portanto é criado no HEAP.
Apenas a variável local de referência ao Array estaria na Pilha.

Estou certo em meu raciocínio?

Muito obrigado.

5 Respostas

D

no meu ver tá errado sim… nesse capítulo inverteram tudo =/ até risquei de caneta onde tinha pilha coloquei em cima HEAP

rmala_ti

Nossa ainda bem que percebi a tempo!
Mas valeu ai, vou fazer o mesmo.

ViniGodoy

Na dúvida, é só olhar a especificação:
http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#15730

"The Java virtual machine has a heap that is shared among all Java virtual machine threads. The heap is the runtime data area from which memory for all class instances and arrays is allocated. "

R

Todo livro técnico tem que se ler com uma pulga atrás da orelha, e como mostrado por Vinny, sim, arrays ficam no Heap.
Se não me engano todo esse capitulo está com esse erro. Procura a errata do livro :wink:

rmala_ti

raphaelrabadan:
Todo livro técnico tem que se ler com uma pulga atrás da orelha, e como mostrado por Vinny, sim, arrays ficam no Heap.
Se não me engano todo esse capitulo está com esse erro. Procura a errata do livro ;)

Blz Raphael, vou procurar.
Vinny vou ler.

Obrigado a todos.

Criado 8 de agosto de 2008
Ultima resposta 11 de ago. de 2008
Respostas 5
Participantes 4