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 ?
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?