Pergunta

Você pode me dizer quanto tempo uma variável vive em um programa (em Java).i.e.variáveis declaradas dentro de métodos, variáveis usadas em parâmetros, variáveis ESTÁTICAS, as variáveis utilizadas para o retorno de um método, etc.

Obrigado.

Foi útil?

Solução

  1. Referências declaradas dentro de métodos fora do escopo quando o método termina.
  2. Parâmetros passados para os métodos de não ser elegível para o GC até que não há mais referências a eles ou eles ficarem fora do escopo.
  3. Referências estáticas são associados a uma classe e viver o máximo que a classe é carregada.
  4. Referências retornadas não ser elegível para o GC até que não há mais referências a eles ou eles ficarem fora do escopo.

Outras dicas

Objetos em Java são garantidos para viver tanto tempo quanto eles são referenceable através de um transitivo encerramento do raiz.Este é um conservador aproximação da aplicação do ao vivo objects1.

Editar: Esta pergunta é relativa tempo de vida do objeto, ou escopo de variável?Temos alguns misto terminologia acontecendo.

1 Um objeto vivo é um objeto que vai ser referenciado novamente antes de o aplicativo termina.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top