Errata Livro Kathy Sierra - SCJP 6.0 pg 126 a pg 136 - Arrays na Pilha/HEAP

4 respostas
Lavieri

Quase todos os lugares onde o texto fala entre as paginas 126 a 136 que a array se localiza na pilha se trata de uma tradução errada…

Arrays são objetos e portanto se localizam no Heap e não na pilha… cuidado quem tiver lendo o livro da K&B para certificação do SCJP 6.0 … onde o texte fala sobre arrays na pilha na verdade é um erro de tradução, a versão em inglês afirma se tratar de Objetos no HEAP e não na PILHA…

bom estudos…

4 Respostas

xivan

Obrigado, por esclarecer. Fiquei totalmente confuso quando li.

Abs

xivan

Ah, ficou uma dúvida.

int[] array = new int[10];

array -> Pilha

instância do Array -> heap

Os variáveis de referência dentro da instância do array estão no heap então certo? Ou na pilha?

Andersonrms

xivan:
Ah, ficou uma dúvida.

int[] array = new int[10];

array -> Pilha

instância do Array -> heap

Certo.

No caso do array q vc deu como exemplo não existem variáveis de referência dentro da instância do array, apenas tipos primitivos. Mas vamos supor q o código fosse:

Nesse caso as variáveis d referência estão no heap, dentro da instância do array.
É bom lembrar q as variáveis do array são inicializadas com o valor padrão, ou seja, as variáveis de referência dentro da instância do array, no momento em q o array é criado, serão null.

xivan

Entendido, ótima explicação!

Obrigado.

Criado 17 de abril de 2009
Ultima resposta 14 de mar. de 2012
Respostas 4
Participantes 3