| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 10:19:25
|
Puppets
Virtual Machine Man
![[Avatar]](/images/avatar/6c7a107981f9c2a0ed55efce297bd1e2.png)
Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline
|
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 ?
This message was edited 2 times. Last update was at 23/07/2008 10:20:25
|
Nunca desista antes de conseguir. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 10:23:52
|
lcegatti
JavaGuru
![[Avatar]](/images/avatar/a0f15903fa20c9b96994cea76d690fab.jpeg)
Membro desde: 29/01/2007 13:43:20
Mensagens: 218
Localização: São Paulo
Offline
|
Variavel static dura enquanto a VM estiver no ar.
http://www.guj.com.br/java.tutorial.artigo.121.1.guj
|
SCJP
Caia na Real |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 10:36:00
|
Puppets
Virtual Machine Man
![[Avatar]](/images/avatar/6c7a107981f9c2a0ed55efce297bd1e2.png)
Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline
|
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.
This message was edited 2 times. Last update was at 23/07/2008 10:45:30
|
Nunca desista antes de conseguir. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 10:56:13
|
dm_thiago
JavaEvangelist
![[Avatar]](/images/avatar/a829b6def307bd357011e57e5d6a635d.png)
Membro desde: 14/02/2007 04:23:55
Mensagens: 305
Offline
|
Puppets wrote: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.
Puppets wrote: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 ?
Sim.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/07/2008 11:08:33
|
peczenyj
Moderador
![[Avatar]](/images/avatar/299dc35e747eb77177d9cea10a802da2.jpg)
Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline
|
mas depende do classloader?
|
http://pacman.blog.br
'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.' |
|
|
 |
|
|