| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 14:23:46
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
Olá!
Bom, a dúvida é essa: "Smart Pointers podem ser comparadas ao Garbage Collector?"
obrigado!
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 14:29:35
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Não; o uso de smart pointers implica em desalocação de objetos determinística, enquanto o garbage collector efetua desalocação de objetos não-determinística.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 14:34:44
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
rss
Imaginei que voce fosse responder thingol! rss
E o que isso quer dizer?
Obrigado!
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 14:40:27
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Um smart pointer (como o "shared_ptr" que está presente na TR1 do C++0X, ou no Boost) tem uma política de chamar o destrutor do objeto (e portanto efetuar sua desalocação) em um instante bem determinado; no caso do shared_ptr, quando a contagem de referências ao objeto for zerada.
No caso de referências e garbage collectors, mesmo que todas as referências a um objeto sejam anuladas, o objeto somente será desalocado quando o "garbage collector" assim o determinar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 14:41:30
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20573
Localização: Curitiba/PR
Offline
|
Que o Smart Pointer tem hora certa para funcionar, no caso, no exato instante que a contagem de referências chegar a zero. Já no caso do garbage collector, por se tratar de um processo externo, é impossível determinarmos o momento exato que ele irá atuar. Outra coisa, o garbage collector pode automaticamente detectar ilhas de referências, como a classe A->B e B->A mas ninguém apontando para A ou B. No caso de SmartPointers, ou o programador identifica isso de maneira consciente e usa um weak pointer, ou os dois objetos não serão coletados, gerando leaks. A confusão ocorre pq os Smart pointers efetivamente fazem o papel de Garbage Collection, porém, eles não são um Garbage Collector. O próprio nome já implica em uma entidade externa, e não em várias pequenas classes. No fundo, podem ser comparados pela sua utilidade, mas não pelo seu mecanismo de funcionamento.
This message was edited 2 times. Last update was at 01/07/2009 14:44:07
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2009 15:05:23
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline
|
Entendido.
Em suma, os dois fazem as mesmas coisas, que é proteger o programador, porém como fazem é diferente.
E os smart pointers são opcionais. Já o Garbage, está sempre lá! rs
obrigado!
|
"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre
Besteiras sobre programação
http://toobject.wordpress.com/
DataModelDinamic |
|
|
 |
|
|