Удобная навигация по видео :) 0:00 - Начало 1:02 - Разделение памяти 1:38 - Стек 2:24 - Типы данных сохраняемые на стеке 3:40 - Куча 5:10 - Типы данных сохраняемые в куче 6:12 - Пример работы стека 7:58 - Пример совместной работы стека и кучи 10:25 - Завершение
Спасибо за видео! Небольшое уточнение относительно размещения объектов в куче: насколько я помню, на куче отдельно размещается область класса (объект), где содержатся все статичные поля, таблица виртуальных методов и тп, и отдельно - экземпляры, в которых, например, содержатся поля данных. то есть для каждого класса будет некоторая статичная область выделена, а так же области под экземпляры. На примере из видео, для класса Rocket на стеке во фрейме CreateRocket будет выделено место под ссылочную переменную, указывающую на экземпляр в куче, который в свою очередь имеет ссылку на класс (объект). Поправьте, если не прав.
Большое Спасибо!! Вы единственный человек который помог мне понять эту тему визуально,спасибо за старания! За то что показали как работает оперативная память на примерах и в визуальном образе благодарю вас! Очень жалко что такой крутой канал заброшен. Надеюсь что у автора на данный момент все хорошо спасибо за помощь!
@@codaza-channel Прочитайте в документации. Он вызывается если мы вызвали Collect, если заканчивается память или выделенная память превышает допустимый порог
Благодарю за подробное уточнение. Я перепроверил официальную документацию на сайте Microsoft, это действительно так. Оставлю ссылку на документ, на случай, если кому то из гостей канала потребуется информация из первоисточника: docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals?redirectedfrom=MSDN#conditions_for_a_garbage_collection
Большое спасибо за объяснение, очень доступно и понятно. Особенно порадовало объяснение того, что ссылочный тип находится в куче, если он часть объекта. Всегда сыпался на этом вопросе на собесах, так как было непонятно.
Спасибо за контент! Только 2 маленьких уточнения: - Стек находится не в оперативной памяти, а в реестровой памяти процессора - Гарбедж коллектор не сразу же удалит объект из кучи если на него нету больше ссылки, а когда наполниться поколение и не будет места для новых объектов (разве что принудительно вызовем GC.Collect() method)
@@misha2993 Значит везде ошибаются Стек один на поток как раз и потому, что сам поток идет от процессора и чтобы работал так же быстро и память выделяется тут же в регистре процессора
На канале, где я учусь, а именно у Alek OS, есть видео, где он говорит про стек. И по его словам, он находится в оперативной памяти Также в гугле нашёл доп. инфу про стек регистра процессора и вот то, что там на писано: Стек всегда находится в оперативной памяти. Существует указатель стека, который хранится в регистре процессора, указывающем на вершину стека, то есть на адрес местоположения в верхней части стека.
@@misha2993 там все скомкано и подано вразброс Сам СТЕК (ячейки памяти последовательности действий) находится в процессоре, а вот значения ссылочных типов - в оперативке, в стеке только ссылки на них
Удобная навигация по видео :)
0:00 - Начало
1:02 - Разделение памяти
1:38 - Стек
2:24 - Типы данных сохраняемые на стеке
3:40 - Куча
5:10 - Типы данных сохраняемые в куче
6:12 - Пример работы стека
7:58 - Пример совместной работы стека и кучи
10:25 - Завершение
Ролик классный, но есть маленький но очень бесячий минус. Музыка, она ну очень громкая
Heap стоило представить ввиде бинарного дерева
Убирайте музыку, пожалуйста. Качество звука тоже желательно улучшить. Музыка сильно мешает слушать звук с басами
Спасибо за информацию. Но мне кажется, для объяснения такой важный темы, музыка здесь лишняя)
Спасибо за обратную связь. В более поздних роликах музыка тише, а голос громче :) В этом ролике она действительно излишне громкая.
@@codaza-channel да, я уже приступил к изучению второй части темы и заметил разницу). Спасибо за уроки!
Отличное объяснение! Когда читала про тему, ссылочные типы вообще не понимала. Сейчас гораздо лучше! Жду вторую часть. Автору спасибо!
Рад, что информация была полезной 🙂
а сложно фоновую музыку убрать?
Парень. ты крутой. жаль что забросил канал. Лучшие видео в ру области
Спасибо за видео! Небольшое уточнение относительно размещения объектов в куче: насколько я помню, на куче отдельно размещается область класса (объект), где содержатся все статичные поля, таблица виртуальных методов и тп, и отдельно - экземпляры, в которых, например, содержатся поля данных. то есть для каждого класса будет некоторая статичная область выделена, а так же области под экземпляры. На примере из видео, для класса Rocket на стеке во фрейме CreateRocket будет выделено место под ссылочную переменную, указывающую на экземпляр в куче, который в свою очередь имеет ссылку на класс (объект). Поправьте, если не прав.
Да, всё верно. На стеке хранится ссылка, которая указывает на объект расположенный в куче.
Спасибо за видео, но музыка - ужас, мало того что голос басит, так ещё и его еле слышно из за музыки.
А вот и не немедленно. Автор почитай что-нибудь про поколения объектов.
Спасибо!
Миллион видео пересмотрел чтобы понять где хранятся составные члены ссылочного типа, только тут автор объяснил, спасибо.
Большое спасибо
Спасибо!
Большое Спасибо!! Вы единственный человек который помог мне понять эту тему визуально,спасибо за старания! За то что показали как работает оперативная память на примерах и в визуальном образе благодарю вас! Очень жалко что такой крутой канал заброшен. Надеюсь что у автора на данный момент все хорошо спасибо за помощь!
Круто, автор не останавливайся!)
Ля, как же круто объясняешь, спасибо
Спасибо за инфографику!
Повторение- мать учения! Особенно когда понятно и доступно изложено. Благодарность автору и однозначная подписка
Благодарю, визуализация приятная
Ну не будет объект удалён немедленно
Почему Вы так считаете?
@@codaza-channel Прочитайте в документации. Он вызывается если мы вызвали Collect, если заканчивается память или выделенная память превышает допустимый порог
Благодарю за подробное уточнение. Я перепроверил официальную документацию на сайте Microsoft, это действительно так. Оставлю ссылку на документ, на случай, если кому то из гостей канала потребуется информация из первоисточника: docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals?redirectedfrom=MSDN#conditions_for_a_garbage_collection
Отлично, ждем 2 часть
Материал в работе 🙂
спасибо за видео! развивай канал!
За столь хорошее объяснение можно закрыть глаза на музыку. Спасибо большое
супер
Thanks)
You are welcome 🙂
Большое спасибо за объяснение, очень доступно и понятно. Особенно порадовало объяснение того, что ссылочный тип находится в куче, если он часть объекта. Всегда сыпался на этом вопросе на собесах, так как было непонятно.
Очень классно! Хотел освежить память :)
Добавить ещё анимацию, то было бы ещё лучше)
Спасибо вам, очень понятно обясняете
круто!!!!!
Это божественно!
Спасибо за контент! Только 2 маленьких уточнения:
- Стек находится не в оперативной памяти, а в реестровой памяти процессора
- Гарбедж коллектор не сразу же удалит объект из кучи если на него нету больше ссылки, а когда наполниться поколение и не будет места для новых объектов (разве что принудительно вызовем GC.Collect() method)
Рад, что ролик оказался полезным. Благодарю за важные уточнения! 💙
Так, погоди
Стек расположен ведь именно в оперативке
Так везде пишут
@@misha2993 Значит везде ошибаются
Стек один на поток как раз и потому, что сам поток идет от процессора и чтобы работал так же быстро и память выделяется тут же в регистре процессора
На канале, где я учусь, а именно у Alek OS, есть видео, где он говорит про стек. И по его словам, он находится в оперативной памяти
Также в гугле нашёл доп. инфу про стек регистра процессора и вот то, что там на писано:
Стек всегда находится в оперативной памяти. Существует указатель стека, который хранится в регистре процессора, указывающем на вершину стека, то есть на адрес местоположения в верхней части стека.
@@misha2993 там все скомкано и подано вразброс
Сам СТЕК (ячейки памяти последовательности действий) находится в процессоре, а вот значения ссылочных типов - в оперативке, в стеке только ссылки на них