Onde ficam as variáveis de referencia? [resolvido]

gente, vi lah nos simulados do livro da kathy uma pergunta, na qual era considerado resposta verdadeira o seguinte:

Algumas variaveis de referencia residen da Heap e outras na Pilha.

eu não entendi a justificação da resposta ':frowning:

Lembro que eu li uma vez, acho q foi no livro dela.

Que as variaveis de referencia residen na Heap, junto com os objetos q referenciam … nun tenhu certeza

alguem pode me dar uma luz? porque que aquela afirmação é verdadeira?

Cara, o que eu sei a respeito disso eh que variaveis de instancia e objetos vivem na heap, e variaveis locais na pilha.

espero que isso ajude, apesar de ter sido breve.

Provavelmente houve uma pequena confusão aqui. Existem duas maneiras de classificar variáveis:

Quanto ao tipo: variáveis de tipos primitivos x variáveis de referência

e quanto ao escopo: variáveis locais x variáveis de instância

A localização da variável varia somente com o escopo: variáveis locais são alocadas na pilha e variáveis de instância são alocadas na heap.

A confusão se dá, pelo seguinte, o que muda quanto ao tipo da variável é a localização dos dados que ela representa. Os valores das variáveis de tipos primitivos são armazenados no local da variável, na pilha se a variável for local, ou no heap, digamos, “dentro” do objeto que a detêm. Por outro lado, objetos (além de arrays e enums) referenciados por uma variável de referência são sempre alocados na heap.

Nesse link tem uma prévia do Head Fisrt, as ilustrações deixam isso mais claro:
http://books.google.com.br/books?id=lXEBwv0LYogC&pg=PA232&lpg=PA232&dq=local+variables++x+instance+variables+head+first&source=bl&ots=murRsZPNU0&sig=E6VWm6PPiPaJx-1fCBVQhUxPxKo&hl=pt-BR&sa=X&oi=book_result&resnum=1&ct=result#PPA246,M1

então pelo o que percebo, é a mesma regra q a gente usa para as variaveis primitivas

observe:


public class TesteHeap {
	
	MinhaClasse MC1 = new MinhaClasse(); // a variavel de referencia MC resite dentro de TesteHeap
										// portanto na Heap
	
	
	void cria(){
	
	MinhaClasse MC2 = new MinhaClasse(); // a variavel de referencia MC2 reside na pilha.
	
	}
	
	class MinhaClasse{}
	
}


é issu?

É isso mesmo! Como eu disse, o que causa confusão é o conteúdo da variável. MC2 se localiza na pilha, porém, o objeto criado também será colocado na heap, sacou ? E só pra completar, esse objeto será elegível para gc assim que o construtor terminar de executar.

Pq meus textos estão estourando a largura da página ?

Opa obrigado , entendi agora XD

bom, aki uso o firefox 3 e IE 7 , nos dois os seus textos não estão estoutando não

falow

Tb estou tendo esse tipo de problema, seja no IE7 o Chrome