ValueTypes вызывают GC? - PullRequest
       2

ValueTypes вызывают GC?

10 голосов
/ 10 февраля 2011

если у меня есть типы значений, выделенные из стека, что их очищает?GC только куча верно?

Ответы [ 3 ]

21 голосов
/ 10 февраля 2011

Если значения находятся в стеке, то, когда текущий кадр стека "выталкивается" (возвращаемым методом), значения эффективно очищаются ... не будет никаких финализаторов или что-то в этом роде, но память, используемая этими значениями, будет повторно использована в следующий раз, когда стек станет таким высоким.

Обратите внимание, что типы значений не всегда выделяются в стеке. В частности, они часто размещаются как часть других объектов (например, класса с int членом) или могут быть помещены в коробку.

4 голосов
/ 10 февраля 2011

Значения, выделенные в стеке, автоматически исчезают вместе с кадром стека, в котором они содержатся (т.е. когда вы возвращаетесь из метода).

0 голосов
/ 10 февраля 2011

стек работает автоматически, нет необходимости явного освобождения памяти

...