Что происходит в компьютере при запуске программы

Обновлено: 06.07.2024

Начнем с того, что "лагать" компьютер может не только из-за различного "мусора" на дисках, но и из-за слабого железа, поэтому сразу оговорюсь, сделать компьютер эффективнее и быстрее можно только если он тормозит по причине засорения хранилища! ПРИМЕЧАНИЕ - все, что приведено ниже, работает корректно на WINDOWS 10, все команды нужно писать без дополнительных знаков препинания в конце!

1. Первое, на что бы я хотел обратить внимание - это очистка папки " Downloads " или " Загрузки ". Весьма примитивно, но многие забывают про данный пункт и хранят много ненужной информации в этой папке.

Как видно на картинке, я открыл папку "Downloads", после чего могу выбрать устаревшие или ненужные файлы и удалить. Как видно на картинке, я открыл папку "Downloads", после чего могу выбрать устаревшие или ненужные файлы и удалить.

2. Следующий пункт гораздо тяжелее, чем прошлый, но он способен очистить в разы больше памяти. Данный способ - это очистка "временных файлов компьютера". Временные файлы - это файлы , которые создаются программами или операционной системой для сохранения промежуточных результатов в процессе работы или передачи данных в другую программу. Давайте рассмотрим подробнее, что нужно сделать для очистки временных файлов в Windows 10 .

Первым делом "откроем" невидимые файлы на компьютере в проводнике. Для этого сделайте все так, как показано ниже. У вас должна стоять галочка напротив параметра - " Скрытые файлы ".

Далее нажимаем на клавиатуре нехитрое сочетание клавиш - WIN + R . Нам открывается диалоговое окно в которое нам следует прописать следующую команду - %temp% .

Нажимаем ОК . Далее мы попадаем в папку Temp , где и хранятся наши временные файлы.

Теперь дело за вами, вы можете удалить как все файлы в данной папке( CTRL + A, DELETE ), так и выборочно. Если во время удаления система выдает уведомление об ошибке, пропустите файлы, на которые ОС ругается. Такое происходит из-за того, что некоторые временные данные используются непосредственно сейчас, и удалить их не получится.

Подводя итоги, хочу посоветовать чистить данную папку хотя бы раз в полгода(можно и раньше, все зависит от частоты использования компьютером). Не стоит боятся удалять временные файлы, те файлы, которые вам удалить не стоит, подскажет вам сама операционная система. Впрочем, если проблем с местом на системном разделе вы не испытываете, то можно сократить периодичность очистки.

3. Ну и завершающий пункт в сегодняшней статье. Здесь мы рассмотрим очистку таких файлов: обновлений, конфигурационных данных, резервных копии файлов.

WinSxS — служебная папка, которая появилась еще в Windows Vista , и присутствует во всех последующих версиях операционной системы. Полный путь к папке: C:\Windows\WinSxS . Увидеть ее можно, если включить отображение скрытых файлов и папок в параметрах папок (вкладка «Вид»). Здесь хранятся файлы обновлений, конфигурационные данные, резервные копии файлов. Это каталог хранилища компонентов Windows . Именно благодаря ему пользователь может откатить практически любые изменения системы. Например, если вышло очередное "забагованное" обновление или эти самые изменения чем-то не понравились. Содержимое WinSxS используется в откате операционной системы к первоначальным настройкам, а также необходимо для работы Windows .

Удалять саму папку WinSxS или ее содержимое, как и любой другой системной директории, настоятельно не рекомендуется, но это не означает, что пользователю нужно смириться с ситуацией. Есть возможность уменьшить занимаемый ею объем памяти. Рассмотрим несколько способов удаления старых файлов.

Будем исходить из того, что (как это показано на иллюстрации к вопросу) в программе Проводник (explorer.exe) на некотором файле некто нажал Enter или выполнил двойной щелчок.

Программа Проводник в соответствии с настройками в системном реестре опознаёт этот файл как executable (то есть программу) и начинает её запуск. Для этого Проводник собирает следующие данные:

  • путь к файлу с программой
  • параметры командной строки (в данном случае это будет пустая строка, но это частный случай)
  • путь к папке, которую в этот момент обозревает проводник
  • все переменные окружения (посмотреть из можно в расширенных «Свойствах» компьютера или по команде SET из Командной строки)

И всё это хозяйство Проводник отдаёт операционной системе, вызывая функцию CreateProcess. Эта функция проживает в библиотеке kernel32.dll (эта библиотека уже подгружена в память, так как Проводник её активно использует)

Функция CreateProcess делает следующее:

  • выделяет оперативную память для переменных окружения и копирует их туда
  • выделяет память для процесса и вычитывает с диска файл с программой перекладывая его содержимое в память. В выделенном блоке памяти различают сегмент для данных и сегмент для кода программы. Код программы — это выраженные цифрами инструкции для процессора, которые будут потом выполняться
  • создаёт основную нить (thread) этого процесса

Эта нить, встраивается в очередь процессов. Операционная система как виртуозная арфистка перебирает все существующие нити по очереди в соответствии с их приоритетом, и каждой даёт возможность работать немного времени, потом процессорные ресурсы отдаются другому процессу и т.д. То есть в этой арфе постоянно появляются новые струны, и потом вынимаются, прямо на ходу.

Получив свою порцию процессорного времени нить заставляет процессор перейти к определённому месту в памяти в сегменте кода и некоторое время процессор выполняет инструкции, которые там записаны. Так работает любая программа.

Что конкретно делает эта программа это уже её собственное дело. Она может создавать свои нити для распараллеливания работы, открывать и читать другие файлы, выделять себе еще немного оперативной памяти для данных, запускать другие программы, создавать графический (оконный) контекст, что-то рисовать в нём, слушать клавиатуру и другие устройства, и так далее. В конце концов программа сворачивает все свои потоки включая основной, и тогда все занятые этой программой ресурсы (память, открытые файлы, окна…) высвобождаются и возвращаются операционной системой.

Ошибки при загрузке Windows встречаются довольно часто. Он могут говорить о неисправности жесткого диска, оперативной памяти, процессора или операционной системы.

Давайте разберемся, что обозначают ошибки, и как от них избавляться.

Загрузка системы

Разберем процесс загрузки ОС. При включении компьютера и его успешной загрузки, процессор выполняет ряд инструкций, которые ему предоставляет BIOS.

Эти инструкции внесены в энергозависимую память CMOS. После запуска процессор обращается к адресуемой ячейке микросхемы. Это зависит от заложенных свойств. В ней записан код BIOS.

Начальный набор инструкций, выполняемых процессором, называют процедурой POST (Power-On Self Test- самопроверка при подключении к питанию).

С ее помощью проводятся следующие действия:

  • Выполняется первичная проверка оборудования, в том числе состояние процессора и размер оперативной памяти. В то же время, проверяется работоспособность ОП.
  • Проходит получение установки конфигурации системы из памяти CMOS.
  • Устанавливается частота шин в соответствии с поставленными настройками из CMOS.
  • Проверяется наличие устройства, с которого будет загружена ОС (жесткого диска, дисковода и другое).

BIOS прекращает свою работу в загрузке, когда находит главную загрузочную запись на жестком диске (или в месте записи ОС) и передает ей управление дальнейшей загрузкой.

Теперь в загрузку вступают программы, записанные на носителе.

BIOS

Причины ошибок загрузки

Перечислим основные проблемы загрузки:

  • Сбой в жестком диске или электропитании.
  • Ошибка при загрузке операционной системы (или нескольких, если она не одна на вашем ПК).
  • Ошибки в использовании дефрагментаторов.
  • Битые (некорректные) архиваторы.
  • Windows установлен в одном разделе с загрузчиком.

Нужно выяснить причину сбоя и устранить ее. А чтобы проблемы больше не возникали снова – не повторяйте эти ошибки.

Это очень важно для дальнейшей корректной работы системы, иначе вам придется снова и снова переустанавливать программное обеспечение и операционку, что приведет к износу жесткого диска.

Windows

Что мешает загрузке Windows?

Наиболее распространенные ошибки Windows

Дело в том, что ошибка при загрузке Виндовс изменяется в зависимости от версии ОС.

Так, у разных версий наиболее распространенными будут разные ошибки. Именно поэтому нужно искать решение проблемы для своей операционки.

Windows XP

В нынешнее время данная версия Виндовс практически перестала существовать.

Однако некоторые компьютеры (часто это именно старые модели) всё ещё работают на этой ОС.

И хотя люди, которые давно знают ХР привыкли к её ошибкам, однако стоит разобраться с самыми распространенными из них.

Потеря системного загрузчика

Это наиболее распространенная проблема при загрузке Виндовс ХР. Обычно она возникает при попытке переустановить ОС.

При появлении данной ошибки система выдает одну из двух надписей:

Устранение данных ошибок возможно посредством выполнения данных пунктов:

  • запустить процесс восстановления с диска, на котором записана ОС;
  • запустить установочную программу;
  • после надписи приветствия нажать кнопку «R» ;
  • высветиться консоль восстановления, в неё необходимо указать установленную версию ОС;
  • ввести «fixmbr» и нажать Enter .

После этого система перезапустится, и ошибка будет устранена.

Хотя существуют и другие причины потери системного загрузчика, однако вышенаписанное случается наиболее часто.

NTLDR is missing

Данная проблема также довольно распространена. При её появлении, зачастую, пользователи просто форматируют диск, что приводит не только к устранению ошибки, но и потере всей памяти.

Однако данную проблему можно решить без таких радикальных методов, достаточно понять причину её происхождения. А устранить и при этом сохранить данные не так уж и сложно.

Данная ошибка представляет собой черный экран с надписью NTLDR is missing.

Порой для устранения проблемы достаточно нажать популярное сочетание клавиш Ctrl+Alt+Delete (об этом написано в экране ошибки).

Данная комбинация должна перезапустить систему, но помогает это далеко не всегда.

Ошибка означает, что не доступны файлы отвечающие за загрузку системы. Причин её может быть несколько:

1 Сбой в работе аппаратной части. Это наиболее неприятная проблема, так как она означает, что неисправность заключена в железе, а не является следствием какого-либо сбоя в системе. Исправление данной ошибки будет замена/починка неисправной комплектующей. 2 Подключение дополнительного жесткого диска. Также является причиной появления ошибки. Устраняется проблема по средству BIOS’а, после выполнения ряда несложных действий. 3 Конфликт двух установленных ОС. На некоторых компьютерах установлено сразу две операционные системы, что может привести к их нежеланию работать друг с другом. Устранение проблемы происходит при помощи установочного диска с Виндовс.

Решение ошибки «NTLDR is missing»

HAL.dll

При данной проблеме, во время загрузки ОС, пользователь наблюдает надпись на подобие «Не удается запустить HAL.dll» или «Файл не найден или поврежден».

При её появлении первым пришедшим на ум решением становится переустановка Виндовс. Однако можно справится и без столь кардинальных мер.

Дело в том, что данный файл отвечает за взаимодействие железа (самого компьютера) и его программных компонентов.

Проблема возникает по той причине, что ХР, как наиболее старая версия, подвержена различным ошибкам наиболее часто.

Как таковых причин возникновения ошибки может быть множество. Однако её всё же можно устранить при помощи ряда действий в BIOS’е не переустанавливая при этом операционную систему.

Тем не менее стоит понимать, что порой справится поможет только радикальный способ.

Решение ошибки «HAL.dll»

Решение ошибки «HAL.dll»

Windows 7

Несмотря на новые версии Виндовса, семерка всё же остается наиболее популярной. Это скорее дело привычки.

Многие считают данную версию наиболее удобной и усредненной между ХР и той же восьмеркой (в принципе так оно и есть)

. Именно потому что версия наиболее популярная, то и ошибка загрузки Виндовс 7 является частой проблемой.

Чаще всего при загрузке Windows 7 возникают различные коды ошибок, которые указывают на ту или иную проблему. Стоит разобраться с наиболее частыми проблемами, которые возникают.

Загрузчик системы

Как и у Виндовс ХР, у семерки случаются проблемы с загрузчиком. Причина проблемы та же что и у предыдущей версии.

Однако восстановить загрузчик семерки можно как автоматически, так и вручную.

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

Загрузчик системы Windows 7

Загрузчик системы Windows 7

0x80300024

Данная ошибка возникает при установке ОС. Происходит это из-за неопытности многих пользователе, которые при переустановке забывают отформатировать один из разделов жесткого диска.

Обычно эта ошибка указывает на недостаток места для установки системы.

Для того, чтоб ошибка не возникала необходимо проверить память на жестком диске и в случае необходимости отформатировать его.

Ошибка 0x80300024

«ERROR»

Известная многим ошибка, которая возникает при запуске системы. Обычно возникает после установки ОС. На белом фоне высвечиваются большие красные буквы.

Для решения проблемы необходимо перезагрузить компьютер с установочным диском внутри и при включении запустить диск.

Дойти до пункта «Восстановление системы», а после поставить галочку возле «Используйте средства восстановления…», однако стоит учесть, что придется выбрать систему.

В командной строке необходимо вписать «bootrec /fixboot». После этого проблема будет устранена.

Ошибки при загрузке Windows: Разбираемся с самыми частыми

Startup Repair Offline

Дословно это проблема означает «восстановление запуска не в сети», порой устраняется после перезагрузки.

Однако зачастую система пытается восстановить себя без подключения к сети и у неё не получается. Поэтому придется ей помочь.

Обычно это решается несколькими способами:

  • Сбрасыванием настроек BIOS.
  • Подключением шлейфов.
  • Восстановлением запуска.
  • При помощи «Командной строки».

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

Решение проблемы Startup Repair Offline

Решение проблемы Startup Repair Offline

0x0000007b

Наиболее пугающая для пользователей ошибка – «синий экран смерти». Зачастую это означает, что система «легла» и помогут ей только кардинальные меры.

Однако иногда случается и так, что после перезагрузки компьютера ошибка исчезает и больше не проявляет себя, однако стоит понимать, что таким образом компьютер сигнализировал о серьезной проблеме, которую необходимо устранить.

Основных причин проблемы может быть несколько:

  • Несовместимость аппаратных средств.
  • Неполадки драйвера.
  • Проблемы с антивирусом.
  • Проблемы в реестре.

В первую очередь необходимо провести диаг6ностику ошибки чтоб выяснить причину проблемы, после чего уже браться за её устранение в зависимости от выявленных причин.

Ошибка «0x0000007b»

Windows 10

Наиболее новая версия операционной системы также не исключает того, что появится ошибка при загрузке Виндовс 10.

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

Именно поэтому при появлении ошибок придется справятся своими силами (или если уж совсем всё плохо – при помощи специалистов).

Inaccessible Boot Device

Данная ошибка встречается довольно часто. И как разработчики не пытались устранить все изъяны системы, однако при обновлении десятки, после отката ОС или даже при простой перезагрузке появляется данная ошибка.

В первую очередь необходимо проверить приоритетность устройств в BIOS, так как данная проблема может возникнуть в случае если жесткий диск с установленной ОС стоит не на первом месте в приоритете.

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

Ошибка «Inaccessible Boot Device»

Ошибка «Inaccessible Boot Device»

CRITICAL_PROCESS_DIED

Это синий экран с грустным смайлом. Может означать как синий экран смерти, так и ошибку, которая потребует восстановления в высветившемся окне.

Для автоматического восстановления необходимо нажать «Переустановить», после чего система самостоятельно устранит проблему.

Operating system wasn’t found

Ошибка возникает в следствии логических или аппаратных повреждений накопителя, сразу после инициализации при запуске системы.

Стоит предположить, что твердый или жесткий диск работаю неправильно вследствие некорректного завершения системы в прошлый раз.

Необходимо переподключить носитель через другой шлейф. Обычно этого достаточно для устранения проблемы.

Ошибка «Operating system wasn’t found»

Ошибка «Operating system wasn’t found»

Выводы

Стоит понимать, что проблем с загрузкой и ошибок при ней может быть очень много и выше изложена лишь небольшая часть. Однако мы рассмотрели наиболее часто встречаемые ошибки при загрузке Windows.

Однако следует знать, что не все ошибки решаются легко (например, при помощи перезагрузки). Любая ошибка оповещает пользователя о том, что произошел какой-либо сбой.

Это значит, что стоит уделить внимание причине проблемы и нормальному её разрешению. Это исключит последующие проблемы с компьютером и продлит время его функционирования.

Некоторые из ошибок сообщают о неполадках в системе ОС, другие сигнализируют о том, что проблемы кроются гораздо глубже – в железе.

Вторым особенно необходимо уделить внимание, во избежание серьезных проблем. Однако это не значит, что стоит пренебрегать системными ошибками, так как постоянное их появление может спровоцировать проблемы с железом.

По сути это замкнутый круг. И если не обращать внимания на проблему, то могут возникнуть серьезные неполадки.

Также понимание того, что не все проблемы можно решить самостоятельно спасут Ваш компьютер от значительного количества ошибок и поломок. Поэтому не стоит пренебрегать вызовом специалиста.

Решение восстановление системы при запуске windows

Ошибки при загрузке Windows: Разбираемся с самыми частыми

Понравилась статья? Подпишитесь на канал, чтобы быть в курсе самых интересных материалов

2. Исходный текст компилируется в промежуточный низкоуровневый язык MSIL. При этом формируется пакет, состоящий из некоторого числа сборок, одна из которых является исполняемой и содержит точку входа в программу. В других - содержатся библиотечные файлы. Сборки содержат метаданные и код на промежуточном языке. Метаданные включают в себя информацию о типах данных, методах сборки и ХЭШ. ХЭШ содержит информацию о версиях и привилегиях, а так же какие другие сборки будут вызываться этой сборкой.

3. Среда CLR загружает сборку, содержащую точку входа в программу и анализирует ХЭШ для проверки целостности сборки и требуемых привилегиях. При этом происходит обращение к политике безопасности системы и учетной записи пользователя. Если пользователь обладает требуемыми привилегиями, то они будут предоставлены программе. CLR осуществляет так же проверку безопасности кода по типу памяти. Т.е. исполняемый код не должен пытаться читать или записывать в область памяти не принадлежащей ему. Если данное требование нарушается, то приложение снимается с выполнения.

4. CLR компилирует с помощью компилятора JIT (Just-in-time) программу на промежуточном языке MSIL в машинный код и запускает ее на выполнение. Причем компилируется только та часть программы, выполнение которой требуется в данный момент времени. Скомпилированный код сохраняется в ОЗУ ЭВМ и при повторном обращении к нему, перекомпиляции не происходит, а, следовательно, не происходи потери производительности, свойственных, например, компилятору-интерпретатору.

5. Во время выполнения кода периодически запускается так называемый сборщик мусора, который на основе анализа данных освобождает области памяти из-под объектов, которые больше не используются.


Историческая справка.

Язык программирования С - был разработан в 1972 г. Денисом Ричи в компании Bell Laboratories. Язык С - является первым структурным языком программирования.

В конце 1970 начале 1980 годов многие проекты достигли размера свыше пяти тысяч строк кода. Эта величина оценивается как предельная для языка структурного программирования. Свыше данного размера возникают большие трудности для понимания и сопровождения программ. Эта проблема была решена с помощью нового в то время подхода – объектно-ориентированного программирования (ООП).

В 1979 году Бьярном Страуструпом был разработан, на основе языка С, объектно-ориентированный язык – С с классами, который в последствии был переименован в 1983 в С++.

Долгое время язык оставался в тени. Первое справочное руководство по этому языку было выпущено только в 1991 году:

- Stroustroup, 1991."The C++ Programming Language".

И с этого момента он начинает широко применяться и приобретает большую популярность.

Следующим шагом в развитии языков программирования явилось появление языка программирования Java.

Работа над проектом Java, который первоначально назывался Oak, началась в 1991 году. Он создавался как независящий от платформы язык, предназначенный для разработки программного обеспечения (ПО) для контроллеров, встроенных в различные устройства (пылесосы, стиральные машины и т.п.).

В связи с бурным развитием сети Internet, которая объединяла компьютеры, реализованные на различных платформах, возникла проблема переносимости ПО с одной платформы на другую. В 1993 году для разработчиков Java стало очевидным, что идеи платформенной независимости языка легко переносятся с уровня встроенных контроллеров на уровень Internet.

Идея платформенной независимости Java заключается в том, что исходный текст программы транслируется в некоторый промежуточный язык, называемый байт-кодом. Каждый байт-код соответствует одной машинной инструкции некоторого абстрактного микропроцессора. Набор инструкций абстрактного микропроцессора соответствует набору инструкций, поддерживаемого большинством реальных микропроцессоров. Байт-код не зависит от платформы и может быть переслан по сети Internet для выполнения на любом типе компьютера, на котором установлена, так называемая, виртуальная машина Java (Java Virtual Machine - JVM).

Виртуальная машина Java работает в режиме интерпретатора и, в настоящее время, реализована для большинства платформ. Благодаря тому, что соответствие байт-кода инструкциям машинного кода реального процессора, составляют почти один к одному процесс трансляции и выполнение программы на байт коде происходит с приемлемой скоростью.




Язык программирования Java был создан на основе языка С и С++ (синтаксис его очень сходен с синтаксисом С++ и С) и является структурным объектно-ориентированным языком.

MSIL в отличие от байт-кода Java не интерпретируется, а компилируется с помощью JIT (just in time – в нужный момент) компилятора во внутренние коды процессора по мере необходимости. При этом время запуска программы мало отличается от времени запуска программы компилированной традиционным компилятором.

Это объясняется двумя причинами:

1. JIT – компилирует не всю программу сразу, а только тот кусок кода, который вызывается в данный момент (отсюда название компилятора just-in-time). Скомпилированный код сохраняется в ОЗУ и при следующем запуске этого куска кода перекомпиляции не происходит. JIT – компилятор – оптимизирует код также как и традиционный компилятор, но кроме этого оптимизирует код непосредственно для того процессора, на котором он выполняется.

В связи с этим фирма Microsoft даже ожидает повышения быстродействия работы программы.

8. В чем отличия и преимущества JIT – компилятора перед традиционными компиляторами?

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

Объекты – как в реальной жизни – обладают определенными свойствами. Эти свойства объектов определяются программистом. Свойства объектов описываются относительно небольшим по объему кодом, который легко поддается отладке и тестированию. Для создания и определения свойств объектов используются структуры и классы.

Классы - это новый тип данных, является расширением типа struct и образует абстрактный тип данных для ООП. Класс состоит из набора переменных (данных) и операций (методов или функций-членов класса), работающих с этими переменными.

Объекты – это экземпляры класса или структуры.

Инкапсуляция - это сокрытие информации о строении или деталях класса.

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

Пользователю класса предоставляется (минимальная) необходимая и достаточная информация для использования класса: пользовательский интерфейс.

Класс для пользователя - это черный ящик с характерным поведением.

Наследование – это средство получения новых классов из существующих классов. Другими словами наследование – это способность класса наследовать свойства других классов.

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

Наследуя характеристики базового класса можно заставить порожденный класс расширить, изменить или использовать их без изменения.

Полиморфизм – это скорее характеристика функций членов класса. Полиморфизм реализуется через архитектуру классов, но полиморфными могут быть только функции, а не весь класс.

Различают несколько видов полиморфизма:

1. Специальный полиморфизм

2. Параметрический полиморфизм

3. Чистый полиморфизм

Каждый вид полиморфизма реализуется с помощью различных механизмов, которые будут нами рассмотрены в соответствующих разделах.

Предположим, что у нас имеется ссылочный тип с именем Reftype.

Для создания объекта ссылочного типа необходимо выполнить два шага:

1. объявить ссылку, например:

2. выделить память под объект этого типа с помощью оператора new:

myObj = new Reftype();

Оператор new выполняет для ссылочных типов два действия.

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

Конструктор – это специальный метод класса, который будет рассмотрен нами позже. Сама ссылка, т.е. адрес объекта, хранится в стеке, занимая минимальное место в памяти. При передаче объекта передается не сам объект, который может быть достаточно большим и сложным, а только ссылка на него (адрес).

При создании объекта типа по значению, для объекта сразу выделяется память в стеке. Оператор new здесь может применяться только для вызова конструктора. Использование переменной ссылочного типа до вызова оператора new, в отличие от базовых типов по значению, невозможно.

Читайте также: