quarta-feira, 28 de novembro de 2007

Gerenciamento automático de memória

•Em Java não existem primitivas para alocação e desalocação de memória (Ex: malloc e free no C, new e delete no C++, new e dispose no Pascal).
•A memória utilizada por objetos que não são mais utilizados é recuperada por um mecanismo de coleta de lixo sobre o qual a aplicação não exerce nenhum controle.
•O resultado é maior consumo de memória (pois ela demora mais a ser liberada) e maior overhead de processamento, em troca de uma menor quantidade de bugs de programação:

Eliminação dos memory leaks – vazamento de memória, ocorre quando uma porção de memória, alocada para uma determinada operação, não é liberada quando não é mais necessária.

Eliminação dos buffer overflows - estouro de pilha ou transbordamento de dados, ocorre quando o tamanho de uma região de memória ultrapassa sua capacidade máxima de armazenamento.

Nenhum comentário: