Публикации по теме 'memory-management'


Выделение / освобождение памяти C ++ для обработки данных
Понимание того, как осуществляется внутреннее управление памятью, поможет нам более разумно распределять / освобождать память. Обзор Если вы не работаете со встроенными системами с очень ограниченными ресурсами, работающими под управлением ОСРВ или на «голом железе», вам почти наверняка потребуется динамическое выделение памяти для обработки ваших данных. В C ++ существует множество методов динамического выделения памяти, таких как использование операторов new и delete и их..

Кэширование на стороне клиента: знакомство с FlacheJS
Упрощенное решение для кэширования на стороне клиента для HTTP-запросов. В компьютерных науках есть только две сложные вещи: инвалидация кеша и присвоение имен вещам. — Фил Карлтон Если вы программист, вы, вероятно, уже знаете, как сложно кэшировать данные на стороне клиента. Кэш в памяти — это здорово, но сохранение данных может оказаться сложной задачей. Local Storage API прост в использовании, но предлагает ограниченное пространство (~ 5 МБ) и совместим только со строками...

Как стек и куча управляют памятью
Стек используется для статического выделения памяти, а куча — для динамического. Это две области, которые обе хранятся в оперативной памяти. Стек всегда резервируется в порядке LIFO (последний пришел — первый вышел). Стек — это память, отведенная для статического распределения. Типы значений (bool, int, float и т. д.) находятся в стеке. Куча — это память, отведенная для динамического распределения. Объекты находятся в куче, а ссылка на объект — в куче. Примеры: Первый..

Владение Rust: 50 примеров кода
Владение Rust: 50 примеров кода Попробуйте их на Rust Playground Журнал изменений: 2 января 2023 г. — использование нового блока кода Medium для подсветки синтаксиса Столкнулись с проблемами владения, такими как заимствование значения, которое уже было перемещено? Если да, то у меня есть 50 фрагментов кода (хорошо, их 53), чтобы мы могли вместе попрактиковаться в Rust Playground. В этой статье предполагается, что вы примерно знаете основные типы, такие как String ,..

Память: заглядывая под капот
Биты, шестнадцатеричные числа, управление памятью и человеческий мозг Компьютеры хранят и обрабатывают информацию, используя двоичный код, систему с основанием 2, которая представляет данные в виде последовательностей 1 и 0. Транзисторы, основные строительные блоки компьютеров, действуют как переключатели с двумя состояниями: ВКЛ (1) или ВЫКЛ (0). Все, от текста и цветов до чисел, хранится в памяти компьютера в виде двоичных цифр, называемых битами. Родной язык компьютера, двоичный код,..

JS: Все, что ты можешь ослабить!
Возможно, вы уже знаете и WeakMap , и WekSet , но многие еще не знают ни WeakRef , ни мощный FinalizationRegistry , которые позволяют создавать новые, немыслимые шаблоны! Цель этой публикации - описать все эти современные примитивы и варианты их использования. Давным-давно … … Мы использовали присоединение любого типа свойства непосредственно к объектам и / или узлам DOM (также известное как expando ), вероятно, загрязняя эти объекты в дикой природе, ставя под угрозу их « форму..

Переуступка, мелкая копия или глубокая копия?
История об управлении памятью в Python from copy import copy, deepcopy Цель этой статьи - описать, что произойдет в памяти, когда мы Назначьте переменную B = A , Неглубоко скопируйте C = copy(A) , или Глубоко скопируйте это D = deepcopy(A) . Сначала я немного расскажу об управлении памятью и оптимизации в Python. Заложив основу, я объясню разницу между оператором присваивания, мелкой копией и глубокой копией. Затем я суммирую разницу в таблице. Если вы предпочитаете..