Onde ficam as variáveis de referencia? [resolvido]
7 respostas
J
javando
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 '
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.
rmendes08
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.
então pelo o que percebo, é a mesma regra q a gente usa para as variaveis primitivas
observe:
publicclassTesteHeap{MinhaClasseMC1=newMinhaClasse();// a variavel de referencia MC resite dentro de TesteHeap// portanto na Heapvoidcria(){MinhaClasseMC2=newMinhaClasse();// a variavel de referencia MC2 reside na pilha.}classMinhaClasse{}}
é issu?
rmendes08
É 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.
rmendes08
Pq meus textos estão estourando a largura da página ?
J
javando
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
rafaelsantos1983
Tb estou tendo esse tipo de problema, seja no IE7 o Chrome