Artigo .net Magazine 59 - Garbage Collection
Artigo da Revista .NET Magazine - Edição 59.
Clique aqui para ler esse artigo em PDF.
Expert
Garbage Collection
Entendendo o gerenciamento de memória no .Net
Neste artigo veremos |
·O modelo de gestão de memória com controle de gerações; ·Como tornar uma aplicação .Net mais eficiente com relação à utilização dos recursos; ·Quais as vantagens do modelo de coleta de lixo do .Net; ·Como criar um objeto que precisa gerenciar recursos limitados e como consumi-los. |
Qual a finalidade |
·Entender como funciona a alocação e coleta de memória e a gestão de recursos que ocorre nos bastidores do .Net Framework. |
Quais situações utilizam esses recursos? |
·Desenvolvedores de aplicações .Net que se preocupem com alocação da memória e outros recursos limitados de hardware e software entrarão em contato neste artigo com princípios fundamentais para sua gestão eficiente. |
Resumo do DevMan
O Garbage Collector (GC) do.Net Framework faz o gerenciamento automático de memória, mas devemos entender como isso acontece para ter um software de melhor qualidade e performance.
Muito do trabalho do GC acontecem de forma transparente aos desenvolvedores, facilitando enormemente o nosso trabalho evitando que ocorram erros, mesmo assim não basta apenas estar funcionando, deve ser rápido e eficiente para não consumir mais recursos do que deveria e não causar transtornos aos usuários e clientes. É muito ruim usar um aplicativo que vive travando e veremos como fazer o máximo para evitar esse tipo de problema.
Nós desenvolvedores .Net temos uma ferramenta muito poderosa que é o Garbage Collection, responsável por gerenciar a memória dos nossos aplicativos. Em outras linguagens de programação como C++ o desenvolvedor é responsável por fazer o próprio gerenciamento da memória, que se não for bem feito, pode criar consumo excessivo de memória e até mesmo corromper os dados.
As linguagens com Garbage Collector parecem ser uma tendência daqui para frente, principalmente com o .Net e o Java. O único requisito para poder executar os programas desenvolvidos nestas plataformas, é instalar a infra-estrutura e o framework respectivo, que serão responsáveis pela coleta de memória e disponibilizar as bibliotecas padrão. Isto torna possível rodar o mesmo executável em qualquer sistema que tenha o framework, não importando o processador e arquitetura, pois você está programando para o .Net e não para um tipo de processador (como x86) ou um Sistema Operacional (desde que você não use recursos que dependa dele, como o registro do Windows). Versões mais antigas do Windows não são mais suportadas pela Microsoft, mas você ainda pode instalar o Mono, uma versão Open Source da runtime do .Net que suporta Linux, Windows e Mac OS.
Outra vantagem é o maior nível de segurança, você pode facilmente limitar o acesso dos programas aos recursos do sistema, como o acesso a rede. Esse é o motivo por que alguns programas não funcionam bem quando você executa direto de uma unidade da rede: eles têm menos permissões do que os programas que são executados localmente." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo