Static

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 ?

Variavel static dura enquanto a VM estiver no ar.

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

:thumbup:

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.

[quote=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 ?[/quote]

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.

mas depende do classloader?