Static

4 respostas
edymrex

Olá galera.

Qual é o tempo de uma variável estática na memória ?

Quando ela sai da memória ? Creio eu que ele sai com não tenho mais objetos da classe, é isso mesmo galera ?

4 Respostas

lcegatti

Variavel static dura enquanto a VM estiver no ar.

http://www.guj.com.br/java.tutorial.artigo.121.1.guj

:thumbup:

edymrex

Então se eu tiver uma aplicação que contenha uma tela por exemplo, e classe que representa essa tela
contém uma variável estática, a variável ficará na memória mesmo que a classe não possua mais referência ?
E se o sistema ficar em constante uso, sempre ficará uma parte da memória ocupada para essa variável estática
até que cancele a aplicação e a VM pare sua execução ? Pra min não faz sentido, pois eu gostaria de saber o conceito de ocupação de memória da variável estática, pois eu também trabalho com c# e creio que a liberação de memória seja similar do Java.

dm_thiago

Puppets:
Então se eu tiver uma aplicação que contenha uma tela por exemplo, e classe que representa essa tela
contém uma variável estática, a variável ficará na memória mesmo que a classe não possua mais referência ?

Se a classe for carregada pela JVM, sua variável estática vai estar sempre em memória (e a JVM sempre vai ter referência a sua classe). E não importa quantos objetos você crie dessa classe, todos eles apontaram para a mesma variável. Ela estará sempre carregada porque você não precisa de objetos para referenciá-la. É só colocar NomeDaClasse.variavel.

Sim.

peczenyj

mas depende do classloader?

Criado 23 de julho de 2008
Ultima resposta 23 de jul. de 2008
Respostas 4
Participantes 4