Gc

Куча, стек и сборщик мусора: как языки управляют памятью

Куча, стек и сборщик мусора: как языки управляют памятью

Как C++, Rust, Go и Java решают один и тот же вопрос — кто и когда освобождает память: вручную, детерминированно по владению (корректность проверяет компилятор) или в рантайме через сборщик мусора. Стек против кучи, стоимость аллокации, паузы сборщика, утечки и фрагментация — и на что смотреть под свою нагрузку

Память в Go: стек, куча и escape-анализ

Память в Go: стек, куча и escape-анализ

Где живёт значение — на стеке или в куче — в Go решает не программист, а escape-анализ компилятора. Что уводит переменную в кучу (возврат указателя, боксинг в interface, захват замыканием), как это увидеть через go build -gcflags=-m, чем это грузит сборщик мусора и как проверять бенчами — на живом стенде с реальным выводом