Поколения (generations) и условия запуска сборщика мусора Поколения — это подход к управлению памятью, при котором объекты распределяются по продолжительности жизни: на молодое (new), старое (old) и, в некоторых…
Виды сильных и слабых ссылок в JVM и сценарии их применения Сильные ссылки (Strong references) обычный, классический механизм ссылок в Java пока существует сильная ссылка, сборщик мусора не удаляет объект по умолчанию…
Основные проблемы финализатора (деструктора) момент вызова непредсказуем, поскольку его определяет GC длительное выполнение финализатора способно задержать сборку мусора при работе с другими ресурсами возможны дедлоки…
область памяти для объектов, выделяемых динамически данные с непредсказуемой продолжительностью жизни объекты, чей размер нельзя определить во время компиляции в JVM: экземпляры классов и строки (кроме string pool) в…
Поколения управляемой кучи .NET и продвижение объектов между ними В управляемой куче .NET предусмотрены три поколения: Gen 0, Gen 1 и Gen 2 Gen 0 предназначено для недавно созданных объектов и очищается быстро и часто…
Плюсы и минусы применения ORM (SQLAlchemy) ORM представляет собой уровень абстракции над SQL для работы с БД Преимущества: позволяет взаимодействовать с данными через объекты автоматически формирует SQL и тем самым…
Может ли объект пережить сборку мусора и как работает финализация? Сборщик мусора освобождает память, занятую неиспользуемыми объектами Объект считается достижимым, если на него указывает хотя бы одна ссылка…
вопрос относится к работе сборщика мусора (Garbage Collector, GC) в современных GC обычно применяются алгоритмы трассировки (mark-and-sweep) они помечают объекты, достижимые от корневых ссылок (root references)…
Ключевые различия Dispose и Finalize в C# Dispose — метод интерфейса IDisposable, предназначенный для явного освобождения неуправляемых ресурсов. Его можно вызвать вручную либо использовать конструкцию using, чтобы…
понятие из области реляционных баз данных совокупность свойств для надежного выполнения транзакций Atomicity — транзакция выполняется целиком либо не выполняется Consistency — после завершения транзакции данные…
Что представляет собой GIL? понятие из интерпретатора CPython Global Interpreter Lock — глобальная блокировка интерпретатора разрешает доступ к Python-байткоду одновременно только одному потоку ограничивает…
Что такое Garbage Collection и как работает сборщик мусора в C#? компонент управления памятью платформы .NET автоматически удаляет недостижимые объекты выполняет маркировку и очистку памяти применяет поколенческий…