| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 13:43:59
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
Uma duvida me surgiu...
eu tenho um JFrame que chama outr JFrame.. no JFrame chamado eu tenho um Connection aberto.. quando eu chamo o metodo
.dispose() do Jframe chamado.. pra onde vai a conexão aberta? ela continua em memoria?
acho que a resposta pra essa pergunta é meio obvia.. mas.. eu não sei =/
valeu ^^'
|
[]'s Renato Ramos |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 13:53:23
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
Se essa variável fica inacessível ela vai para o GC. E a conexão permance aberta até que alguém a feche.
This message was edited 1 time. Last update was at 04/12/2009 13:53:54
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 13:55:22
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
Quando GC pega ela.. mesmo assim a conexão fica aberta?
|
[]'s Renato Ramos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 13:57:49
|
leopoldof
GUJ Master
Membro desde: 07/03/2008 07:40:45
Mensagens: 1012
Offline
|
O correto seria... vc fazer uma ação ao fechar o JFrame... nesta ação constaria o código para fechar a conexão antes que ela fosse destruída ..
connection.close();
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:02:11
|
J@rge Luis
Thread.start()
![[Avatar]](/images/avatar/78cc023ff7fd28abfdd2580956ed889c.jpg)
Membro desde: 09/10/2009 13:15:37
Mensagens: 42
Offline
|
Uma das "supostas melhorias" de Java é: o programador não se preocupar com desalocação de memória, um bom exemplo ponteiros... E nós programadores Java não devemos em teoria, economizar memória desalocando, pois o Garbage Collector se encarrega desse serviço, e não pense você que chamando métodos como, dispose e destroy, você tá controlando tal tarefa... Isso não acontece, apenas sinaliza ao Garbage Collector que esse objeto pode ser destruído, ou seja, você apenas candidata esse objeto para destruição a escolha final é interna!
Abraço.
|
Jorge Luis de Souza.
Site:http://www.jorgeluis.eti.br
Blog:http://blog.jorgeluis.eti.br
E-mail:contato@jorgeluis.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:14:47
|
J@rge Luis
Thread.start()
![[Avatar]](/images/avatar/78cc023ff7fd28abfdd2580956ed889c.jpg)
Membro desde: 09/10/2009 13:15:37
Mensagens: 42
Offline
|
Sempre que em sua lógica de negócios, ficar claro a não necessidade da conexão aberta você deve chamar o método close. Mas não quer dizer que ela fica aberta infinitamente. O close fecha e libera os recursos imediatamente, mas a conexão tem um tempo de vida, se ficar inativa muito tempo ela "morre" sozinha.
Sou desenvolvedor web, na minha lógica de negócios é uma resposta por requisição, então fica claro que não devo manter conexão aberta, posso usar um filtro que abre, meu servlet processa responde, e o filtro mata a conexão!
abraço.
|
Jorge Luis de Souza.
Site:http://www.jorgeluis.eti.br
Blog:http://blog.jorgeluis.eti.br
E-mail:contato@jorgeluis.eti.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:27:22
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
muito obrigado pelas explicações =D
tipo vira boa pratica usar .close()? logo apos q a conexão não tiver mais sentido em ficar aberta?
|
[]'s Renato Ramos |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:41:30
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
Teoricamente a sua conexão deve ser aberta - usada - fechada. Não ficar mantendo a conexão aberta mesmo que vc a use daqui alguns minutos, abra uma nova.
A única razão de manter uma conexão aberta após seu uso é quando vc esta trabalhando com uma transação.
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:44:39
|
thundercas
JavaEvangelist
![[Avatar]](/images/avatar/292f0300bbddb5ad9efc10f31c452e57.jpg)
Membro desde: 15/09/2007 11:04:51
Mensagens: 429
Localização: São Paulo - SP
Offline
|
renato_ramos,
Trabalhe sempre com blocos
em sua camada DAO. Daí, dentro do bloco finally{}, você declara o fechamento da conexão.
|
Cassiano Colombo de Oliveira Gil
Analista Programador Junior
São Paulo - SP
E-mail: cassi_ano@hotmail.com
Twiter: http://twitter.com/thundercas |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2009 14:52:10
|
renato_ramos
JavaGuru
![[Avatar]](/images/avatar/c5aa1ea0b5da97a51d83ef18cf9daebe.jpg)
Membro desde: 07/10/2009 12:04:32
Mensagens: 234
Offline
|
thundercas wrote:renato_ramos,
Trabalhe sempre com blocos
em sua camada DAO. Daí, dentro do bloco finally{}, você declara o fechamento da conexão.
opa.. mt obrigado dnovo=D
o grande problema agora é que aplicação tah meio grande pra refazer om blocos xD... mas assim um hora q eu nun tiver mais nd pra fazer eu refaço...
conhecimento nunca é dmais .o/
vou comecar a usar isso =D
|
[]'s Renato Ramos |
|
|
 |
|
|