Rust: как не утечь в Rc<RefCell

Привет, Хабр! Сегодня рассмотрим проблемную тему в Rust: управление владением в структурах с циклическими ссылками, таких как графы и деревья. Особое внимание уделим комбинации Rc<RefCell<T>> и тому, как избежать зацикливания с помощью Weak .

https://habr.com/ru/companies/otus/articles/905786/

#rust #rc #RefCell #Weak #управление_памятью

Rust: как не утечь в Rc<RefCell

Привет, Хабр! Сегодня рассмотрим проблемную тему в Rust: управление владением в структурах с циклическими ссылками, таких как графы и деревья. Особое внимание уделим комбинации...

Хабр

Golang: когда make, когда new

Привет, Хабр! В этой статье разберёмся, зачем в Go существуют два способа создавать значения — make и new , чем они отличаются, как они работают и когда выбирать каждый из них.

https://habr.com/ru/companies/otus/articles/903144/

#golang #аллокация_памяти #указатели #структурные_типы #genericкод #управление_памятью

Golang: когда make, когда new

Привет, Хабр! Сегодня разберёмся, зачем в Go существуют два способа создавать значения — make и new , чем они отличаются, как они работают и когда выбирать каждый из них Что мы...

Хабр

[Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

https://habr.com/ru/companies/otus/articles/902724/

#c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

Линус Торвальдс: Критика C++ — Комплексный анализ

Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто...

Хабр

16 байт вместо 32: управляем layout'ом в C++

Привет, Хабр! Если вы пишете код для систем с ограниченными ресурсами, или просто хотите держать в голове не только логическую, но и физическую модель своей программы — вам необходимо понимать, как именно компилятор размещает данные в памяти.

https://habr.com/ru/companies/otus/articles/899784/

#C++ #layout #управление_памятью

16 байт вместо 32: управляем layout'ом в C++

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

Хабр

Как управлять памятью в C#: StructLayout

Привет, Хабр! Сегодня рассмотрим тему, которая обычно ассоциируется с C или Rust, но никак не с C#. А именно — ручное управление памятью , байтовые смещения , бинарная сериализация и прочая низкоуровневые вещи. Зачем? Допустим, в одном из проектов потребовалось прочитать старый бинарный лог от С-подобной прошивки. Формат документации был: offset 0 — 1 byte: Type; offset 1 — 2 bytes: ID; offset 3 — 4 bytes: Timestamp; и т.д. Разбирать всё это вручную с BinaryReader? Нет, спасибо. Можно воспользоваться StructLayout, FieldOffset, MemoryMappedFile, Unsafe.As<T>() и Span<byte>.

https://habr.com/ru/companies/otus/articles/897264/

# #управление_памятью #ручное_управление_памятью #байтовые_смещения #бинарная_сериализация

Как управлять памятью в C#: StructLayout

Привет, Хабр! Сегодня рассмотрим тему, которая обычно ассоциируется с C или Rust, но никак не с C#. А именно — ручное управление памятью , байтовые смещения , бинарная сериализация и прочая...

Хабр

Как malloc() и free() управляют памятью в C

Привет, Хабр! Сегодня рассмотрим, почему free() не всегда освобождает память, как работает malloc() , когда glibc действительно возвращает память в ОС, и как избежать фрагментации хипа. А так же напишем кастомный аллокатор.

https://habr.com/ru/companies/otus/articles/889020/

#C #кастомный_аллокатор #управление_памятью

Как malloc() и free() управляют памятью в C

Привет, Хабр! Сегодня рассмотрим, почему free() не всегда освобождает память, как работает malloc() , когда glibc действительно возвращает память в ОС, и как избежать фрагментации...

Хабр

Управление памятью в JavaScript с помощью WeakRef и FinalizationRegistry

Сегодня мы рассмотрим тему управления памятью в JavaScript — и речь пойдет не о классическом сборщике мусора, а о возможностях с WeakRef и FinalizationRegistry . Эти инструменты помогают работать со слабыми ссылками и асинхронной финализацией объектов, открывая дорогу к более тонкой работе с памятью. Если вам надоело, что объекты висят в памяти дольше, чем нужно, и хочется управлять ресурсами без лишних утечек — эта статья для вас. Начнем!

https://habr.com/ru/companies/otus/articles/843812/

#js #управление_памятью

Управление памятью в JavaScript с помощью WeakRef и FinalizationRegistry

Привет, Хабр! Сегодня мы рассмотрим тему управления памятью в JavaScript — и речь пойдет не о классическом сборщике мусора, а о возможностях с WeakRef и FinalizationRegistry . Эти инструменты помогают...

Хабр

Жизнь, смерть и ̶р̶о̶б̶о̶т̶ы̶ управление ресурсами в Scala

Вы когда-нибудь задумывались о том, как выделяется память для переменных, и в какой конкретно момент она очищается? Как сборщик мусора «решает», что переменная уже не нужна и можно ли как-то повлиять на его решение? В новой статье директор департамента разработки компании «Криптонит» Алексей Шуксто рассказал об интересных особенностях управления жизненным циклом объектов в Scala и Java разных версий. С необходимостью вникать в эту внутреннюю кухню сталкиваются все, кто использует в своих программах потоки, подключения к БД и другим сторонним сервисам, анализирует метрики, обрабатывает исключения… все, кто пишет что-то сложнее «Hello World!» и хочет добиться предсказуемого результата.

https://habr.com/ru/companies/kryptonite/articles/842332/

#Scala #управление_ресурсами #жизненный_цикл #управление_памятью #программирование #функциональное_программирование #вакансия

Жизнь, смерть и ̶р̶о̶б̶о̶т̶ы̶ управление ресурсами в Scala

Вы когда-нибудь задумывались о том, как выделяется память для переменных, и в какой конкретно момент она очищается? Как сборщик мусора «решает», что переменная уже не нужна и можно ли как-то повлиять...

Хабр

Основы управления ресурсами в C

Привет, Хабр! Управлении ресурсами включает в себя распределение , использование и освобождение различных типов ресурсов. В языке программирования C автоматическое управление памятью отсутствует , эта задача ложится на плечи разработчиков. В этой статьи рассмотрим основные возможности для работы с ресурсами в C.

https://habr.com/ru/companies/otus/articles/800381/

#C #управление_памятью #ресурсы

Основы управления ресурсами в C

Привет, Хабр! Управлении ресурсами включает в себя распределение , использование и освобождение различных типов ресурсов. В языке программирования C автоматическое управление памятью отсутствует , эта...

Хабр

Как работает управление памятью в Rust без сборщика мусора

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

https://habr.com/ru/companies/otus/articles/787362/

#rust #управление_памятью

Как работает управление памятью в Rust без сборщика мусора

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

Хабр