Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Системное программирование, теория и практика 'Способ создания и инициализация конструкторов'


"Способ создания и инициализация конструкторов"

Давайте разберем ряд моментов, связанных с созданием и уничтожением объектов.
Первый момент — это стек и куча. Вопрос о выделении памяти через стек или кучу связан с тем, как выделяется и освобождается память. Разделяют автоматические и динамические переменные. Для автоматических переменных память создается при входе в процедуру или блок, управляющие этими переменными. При выходе из блока память (автоматически) освобождается. Многие языки используют термин статический (static) для обозначения переменных, автоматически размещаемых в стеке (в данном случае речь не идет о переменных типа static в С++). Для динамического выделения памяти используется оператор new. Память выделяется по специальному запросу со стороны пользователя.
Понятно, что автоматические переменные уничтожаются автоматически, динамические — по запросу со стороны пользователя ключевым словом delete в С++. В Java нет освобождения памяти, осуществляется процесс сборки мусора - автоматически отслеживается ситуация, когда к объекту нет доступа.
Остановимся на указателях. Указатели — это эффективное средство работы с динамической информацией. В языке Java объекты представлены внутренним образом как указатели, но при этом никогда не используются в таком качестве.


Узнайте больше о программах и программировании: Системное программирование


В избранное