1 / 22

GARBAGE COLLECTOR

GARBAGE COLLECTOR. GARBAGE COLLECTOR. NOME: GUILHERME BOULHOSA GUIMARÃES . email:guilherme.guimaraes@gasparvianna.pa.gov.br NOME: RAIMUNDO MEDEIROS NETO email:netovis.panotec@gmail.com NOME: JOELCIO LUIZ GRAIM FERREIRA email: joelcio.graim@gmail.com NOME: LEONARDO DELA FLORA

hayley
Download Presentation

GARBAGE COLLECTOR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GARBAGE COLLECTOR UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  2. GARBAGE COLLECTOR NOME: GUILHERME BOULHOSA GUIMARÃES. email:guilherme.guimaraes@gasparvianna.pa.gov.br NOME: RAIMUNDO MEDEIROS NETO email:netovis.panotec@gmail.com NOME: JOELCIO LUIZ GRAIM FERREIRA email: joelcio.graim@gmail.com NOME: LEONARDO DELA FLORA email:leo13.cruz@gmail.com NOME: BRUNO GARCIA email:inform.garcia@gmail.com UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  3. INTRODUÇÃO O conceito de garbage collector (GC) nasceu em 1959 por John McCarthy, para resolver problemas do Lisp; A maioria das linguagens modernas de programação é dotada de mecanismos de gerenciamento automático de memória por meio de um GARBAGE COLLECTOR (GB); UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  4. C# Vs. JAVA Em C# o Garbage Collected é manuseado pelo Common Language Runtime (CLR), que possui funcionalidades similares ao do JVM, onde o CLR periodicamente verifica o Heap () de memória a procura de objetos não referenciados; Em Java a JVM cuida e controla a liberação da memória através da API Garbage-Collected; UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  5. GERENCIAMNETO AUTOMÁTICO DE MEMÓRIA Gerenciamento automático de memória é um dos serviços que o Common Language Runtime (CLR) fornece durante a Execução Gerenciada; O Garbage Collector gerencia todo o processo de ciclo de vida dos objetos, visando a melhor manutenção da aplicação e tentando evitar problemas de memory leaks, hangs ou crashes; UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  6. ALOCAÇÃO DE MEMÓRIA Região contígua de espaço de endereço – HEAP Gerenciada; Endereço básico da Heap Gerenciada é um ponteiro; Coletor de Lixo aloca memória no espaço de endereço; Maior velocidade na alocação de memória com Heap Gerenciada; Alocação de memória com Runtime; UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  7. LIBERAÇÃO DE MEMÓRIA O Coletor de lixo determina o melhor momento para executar uma coleta; Ele determina quais objetos não são mais usados pelo exame das raízez do aplicativo; Compilador Just-In-Time (JIT); UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  8. LIBERAÇÃO DE MEMÓRIA Objetos Inacessíveis; Função de copia de memória para compactar os objetos acessíveis; Objetos sobreviventes; Melhor desempenho (Heap separado); UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  9. LIBERAÇÃO DE MEMÓRIA • Antes da Remoção Pilha c=5 data b=2 obj UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  10. LIBERAÇÃO DE MEMÓRIA Processo de análise das Raízes. Pilha c=5 data b=2 obj UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  11. LIBERAÇÃO DE MEMÓRIA Depois da Remoção Pilha c=5 b=2 obj UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  12. GERAÇÕES E DESEMPENHO • Para otimizar o desempenho do coletor de lixo, o heap gerenciado é dividido em três gerações: 0, 1 e 2. • Motivos: • Compactar parte da heap gerenciada. • Objetos mais recentes tem vida úteis menores.

  13. GERAÇÕES E DESEMPENHO Geração 0(zero) armazena os novos objetos. Objetos criados com antecedência no tempo de vida do aplicativo que sobrevivem a coletas são promovidos e armazenados em gerações 1 e 2. Como resultado, o coletor de lixo não tem como reexaminar os objetos em gerações 1 e 2.

  14. GERAÇÕES E DESEMPENHO Funcionamento: Após cada coleta, o coletor de lixo compacta os objetos acessíveis na geração 0 e promove-os para a geração 1. Objetos na geração 1 que sobrevivem a coletas são elevados para a geração 2. Objetos na geração 2 que sobrevivem a uma coleta permanecem na geração 2 até que eles sejam determinados como inalcançáveis em uma coleta futura.

  15. GERAÇÕES E DESEMPENHO Melhor desempenho: Libera memória em uma geração específica em vez de liberar a memória para toda a memória gerenciada a cada vez que ele executa uma coleta.

  16. GERAÇÕES E DESEMPENHO

  17. LiberandoMemóriaparaRecursosnãoGerenciados O coletor de lixo executa automaticamente as tarefas de gerenciamento de memória para maioria dos objetos criados pelo aplicativo; Enquanto que recursos não gerenciados requerem limpeza explícita. Exemplos, são objetos que envolve um recurso do sistema operacional como: identificador de arquivo, identificador de janela ou conexão de rede; UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  18. LiberandoMemóriaparaRecursosnãoGerenciados Embora um objeto gerenciado encapsula um objeto não gerenciado, não tem conhecimento específico para limpar o recurso. Nesse caso é necessário fornecer o código de um método público Dispose; Você deve estar ciente de implementar o método Disposepara liberação explícita de memória; UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  19. CONCLUSÃO A Presença do Garbage Collector na plataforma .NET impulsionou a produtividade no desenvolvimento de aplicações , eximindo os desenvolvedores do compromisso de fazer desalocação explicita de objetos não mais necessários em suas aplicações. UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  20. REFRÊNCIAS http://msdn.microsoft.com/pt-br/library/ms228629(VS.80).aspx http://msdn.microsoft.com/en-us/library/ms973837.aspx http://msdn.microsoft.com/en-us/magazine/bb985010.aspx UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  21. OBRIGADO!!! A EQUIPE AGRADECE PELA ATENÇÃO. UNIVERSIDADE FEDERAL DO PARÁ - UFPA

  22. PERGUNTAS UNIVERSIDADE FEDERAL DO PARÁ - UFPA

More Related