Секретное оружие Rust (безопасность памяти на этапе компиляции)
Byte Without Bite
0:00 / 0:00
Секретное оружие Rust (безопасность памяти на этапе компиляции)
534 просмотра · 5 дней назад
Byte Without Bite
978 подписчиков
534 просмотра · 5 дней назад
Управление памятью в Rust, владение памятью, заимствование и безопасность памяти в Rust работают вместе, позволяя Rust управлять памятью без сборщика мусора. В этом видео вы увидите, как именно это происходит.
Rust использует совершенно иной подход к управлению памятью по сравнению с такими языками, как C, C++, Java, Go, C# и JavaScript. Вместо того чтобы полагаться на ручное выделение памяти или традиционный сборщик мусора, Rust использует владение памятью, заимствование, время жизни и проверку заимствований для обеспечения безопасности памяти на этапе компиляции.
В этом видео мы подробно разберем, как Rust управляет памятью с нуля. Вы поймете, как владение определяет, когда значения удаляются, что происходит при перемещении данных между переменными и функциями, и почему Rust может предотвратить ошибки типа «использование после освобождения» еще до запуска вашей программы.
Мы также объясним заимствование в Rust, неизменяемые и изменяемые ссылки, а также правило, разрешающее либо несколько неизменяемых ссылок, либо одну изменяемую ссылку одновременно. Это одна из ключевых идей, лежащих в основе способности Rust предотвращать опасные ошибки памяти и состояния гонки данных.
Вы также узнаете, как работает время жизни в Rust, почему ссылки не могут существовать дольше, чем данные, на которые они указывают, и что аннотации времени жизни, такие как 'a', на самом деле сообщают компилятору.
Наконец, мы рассмотрим совместное владение с Rc и Arc, подсчет ссылок в Rust, детерминированную очистку памяти и почему Rust вводит учет во время выполнения только тогда, когда это явно необходимо вашей программе.
Если вам нравятся подробные технические разборы Rust, языков программирования, бэкенд-разработки, API и концепций информатики, подпишитесь на Byte Without Bite.
#Rust #RustProgramming #MemoryManagement