Объекты в JavaScript. Уничтожение объектов и сборка мусора

Уничтожение объектов и сборка мусора в JavaScript

Сегодня мы рассмотрим Уничтожение объектов и сборка мусора в JavaScript, но для начала вот список статей на тему «Объекты в JavaScript»:

Уничтожение объектов и сборка мусора

Объекты и другие переменные используют память, ресурсы которой у компьютера ограничены. Из-за потенциального дефицита памяти, некоторые языки программирования вынуждают программистов организовывать процесс использования памяти их программами. К счастью, JavaScript таким языком не является — проблемы управления памятью здесь скрыты от программиста. При создании объектов в JavaScript, интерпретатор незаметно и без вашего участия выделяет память для использования ими. Он также выполнит за вас и необходимую «уборку». Эта функция языка называется сборкой мусора.

Языки, подобно JavaScript обеспечивающие сборку мусора, внимательно следят за данными. Когда какой-либо фрагмент данных становится недоступным программе, занятое этими данными пространство утилизируется интерпретатором и возвращается в пул доступной памяти. Так, в следующем программном коде, объект String, ссылающийся на информацию о Моне, будет возвращен в пул свободной памяти, потому что объект становится недоступным (ссылка на него заменяется ссылкой на объект, содержащий информацию о Дали):

Подробности сборки мусора интерпретатором для нас не важны. Однако, если в программном коде используется большое число данных, то подсказка интерпретатору о том, что вы закончили работу с конкретными переменными, может оказаться полезной для ограничения следа памяти вашего сценария. Проще всего сделать это, заменив ненужные данные значениями nul 1, указывающими на то, что теперь переменная пуста. Предположим, имеется объект Book:

Последний из указанных здесь операторов недвусмысленно указывает на то, что вы закончили работу с данными, на которые ссылается myBook, и память, занимаемая этими данными, теперь может использоваться снова.

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Добавить комментарий