Perguntas com a marcação «garbage-collection»

A coleta de lixo (GC) é uma forma de gerenciamento automático de memória que tenta recuperar o lixo ou a memória ocupada por objetos que não estão mais em uso pelo programa.

1659
Uso adequado da interface IDisposable

Sei da leitura da documentação da Microsoft que o uso "primário" da IDisposableinterface é limpar recursos não gerenciados. Para mim, "não gerenciado" significa coisas como conexões com bancos de dados, soquetes, identificadores de janelas etc. Mas vi código em que o Dispose()método é implementado...

594
Existe um destruidor para Java?

Existe um destruidor para Java? Parece que não consigo encontrar nenhuma documentação sobre isso. Se não houver, como posso obter o mesmo efeito? Para tornar minha pergunta mais específica, estou escrevendo um aplicativo que lida com dados e as especificações dizem que deve haver um botão...

435
Onde está o Machine.Config?

Quero aplicar uma alteração para que eu possa usar as configurações do Server GC para meu aplicativo C # 3.5 - posso fazer isso editando o machine.configarquivo. O único problema é que não sei onde é. Como posso encontrar o caminho desse arquivo de forma repetível em várias máquinas...

326
Por que é uma prática ruim chamar System.gc ()?

Depois de responder a uma pergunta sobre como forçar a liberação de objetos em Java (o cara estava limpando um HashMap de 1,5 GB) System.gc(), me disseram que era uma prática ruim ligar System.gc()manualmente, mas os comentários não eram inteiramente convincentes. Além disso, ninguém parecia se...

270
Por que o C ++ não possui um coletor de lixo?

Não estou fazendo essa pergunta por causa dos méritos da coleta de lixo antes de tudo. Minha principal razão para perguntar isso é que eu sei que Bjarne Stroustrup disse que o C ++ terá um coletor de lixo em algum momento. Com isso dito, por que não foi adicionado? Já existem alguns coletores de...

170
Noções básicas sobre coleta de lixo no .NET

Considere o código abaixo: public class Class1 { public static int c; ~Class1() { c++; } } public class Class2 { public static void Main() { { var c1=new Class1(); //c1=null; // If this line is not commented out, at the Console.WriteLine call, it prints 1. } GC.Collect();...

166
Quando é aceitável ligar para GC.Collect?

O conselho geral é que você não deve ligar GC.Collectdo seu código, mas quais são as exceções a esta regra? Só consigo pensar em alguns casos muito específicos em que pode fazer sentido forçar uma coleta de lixo. Um exemplo que vem à mente é um serviço, que acorda a intervalos, realiza algumas...