Я понимаю, что в Java, если я явно вызываю сборку мусора, все, что вызывает, - это «подсказка» сборщику мусора о том, что коллекция была запрошена.Явное вызов коллекции мусора в .NET
Основываясь на чтении документации здесь: http://msdn.microsoft.com/en-us/library/y46kxc5e(v=vs.110).aspx Я правильно говорю, что это не так в .NET, и что если я вызываю сборку мусора, то запускается сборка мусора?
В документации говорится следующее:
Используйте этот метод, чтобы попытаться восстановить память, которая недоступна. Однако использование этого метода не гарантирует, что вся недоступная память в указанном поколении будет исправлена. Если старение объекта реализовано, сборщик мусора не собирает объекты с номером поколения, который выше указанного поколения. Если старение объекта не реализовано, сборщик мусора рассматривает все объекты во время сбора мусора.
Теперь, что для меня подразумевается, что сборщик мусора работает, когда вы звоните ему, или я читаю его неправильно?
Если это всего лишь намек, как работают профилировщики памяти?
Все, что я попросил, сказали мне, что это hint только в .NET. Так что, если это не так, это когда-либо было в предыдущих версиях .NET?
Полезная информация - спасибо. – Cheetah
Интересно, как сложно было бы сделать GC GC поддержки поддержки для закрытых классов без полей ссылочного типа [все изменчивые объекты будут застревать на уровне 0]? Преимущества не будут такими большими, насколько это было бы возможно, если бы объекты ссылочного холдинга могли бы продвигать или если бы GC мог знать, что объект-контрольный холдинг является неизменным, но я думаю, что некоторые разумные выгоды могут быть относительно дешевыми , – supercat