heap- все статьи тега
Что и где находятся стек и куча?
книги по языку программирования объясняют, что типы значений создаются на стек, и ссылочные типы создаются на кучу, не объясняя, что это за две вещи. Я не читал четкого объяснения этого. Я понимаю, что стек есть. Но, где и что они (физически в памяти реального компьютера)? в какой степени они контролируются ОС или языком время выполнения? какова их область применения? что определяет размер каждого из них? что делает быстрее? ...
Как построение кучи может быть o (n) временной сложностью?
может кто-нибудь помочь объяснить, как можно построить кучу сложности O(n)? вставка элемента в кучу составляет O(log n), и вставка повторяется n / 2 раза (остальные являются листьями и не могут нарушать свойство кучи). Итак, это означает, что сложность должна быть O(n log n), Я думаю. другими словами, для каждого элемента мы "heapify", он имеет потенциал, чтобы отфильтровать один раз для каждого уровня для кучи до сих пор (который является log n уровни.) чего мне не хватает? ...
Как проанализировать файл. hprof?
У меня есть рабочий сервер, работающий со следующим флагом: - XX:+HeapDumpOnOutOfMemoryError вчера вечером он сгенерировал java-38942.файл hprof, когда наш сервер обнаружил ошибку в кучу. Оказывается, разработчики системы знали о флаге, но никак не могли получить от него никакой полезной информации. какие идеи? ...
Стек, статика и куча в C++
Я искал, но я не очень хорошо понял эти три понятия. Когда я должен использовать динамическое распределение (в куче) и в чем его реальное преимущество? Каковы проблемы статики и стека? Могу ли я написать целое приложение без выделения переменных в куче? Я слышал, что другие языки включают в себя" сборщик мусора", так что вам не придется беспокоиться о памяти. Что делает сборщик мусора? что вы могли бы сделать манипулирование памятью самостоятельно, что вы не могли сделать с помощью этого ...
Когда векторы выделяются, они используют память в куче или стеке?
все ли следующие утверждения верны? vector<Type> vect; //allocates vect on stack and each of the Type (using std::allocator) also will be on the stack vector<Type> *vect = new vector<Type>; //allocates vect on heap and each of the Type will be allocated on stack vector<Type*> vect; //vect will be on stack and Type* will be on heap. как память выделяется внутренне для Type на vector или любой другой контейнер STL? ...
Правильное использование стека и кучи в C++?
я программировал некоторое время, но это было в основном Java и C#. Мне никогда не приходилось управлять памятью самостоятельно. Недавно я начал программировать на C++, и я немного смущен тем, когда я должен хранить вещи в стеке и когда хранить их в куче. Я понимаю, что переменные, к которым обращаются очень часто, должны храниться в стеке и объектах, редко используемые переменные и большие структуры данных должны храниться в куче. Заключаться в следующем правильно или я ошибаюсь? ...
Массивы, куча и стек и типы значений
int[] myIntegers; myIntegers = new int[100]; в приведенном выше коде новый int [100] генерирует массив в куче? Из того, что я прочитал на CLR через c#, ответ да. Но я не могу понять, что происходит с фактическим int внутри массива. Поскольку они являются типами значений, я бы предположил, что они должны быть упакованы, так как я могу, например, передать myIntegers в другие части программы, и это загромождало бы стек, если бы они оставались на нем все время. Или я ошибаюсь? Я бы предположил, чт ...
Что значит "Зенд куче мм поврежден" означает
внезапно у меня возникли проблемы с моим приложением, что у меня никогда не было. Я решил проверить журнал ошибок Apache, и я нашел сообщение об ошибке с надписью "zend_mm_heap поврежден". Что это значит. ОС: Fedora Core 8 Apache: 2.2.9 PHP: 5.2.6 ...
Разница между "в куче" и " вне кучи"
Ehcache переговоры о в куче и вне кучи памяти. В чем же разница? Что для JVM аргументы используются, чтобы настроить их? ...
В чем разница между VirtualAlloc и HeapAlloc?
существует множество способов выделения памяти в среде Windows, таких как VirtualAlloc,HeapAlloc,malloc,new. Итак, в чем же разница между ними? ...
В чем преимущество использования std::allocator вместо new В C++?
Я только что прочитал о std::allocator. На мой взгляд, это сложнее использовать его вместо использования new и delete. С allocator мы должны явно выделить память кучи, построить ее, уничтожить ее, а затем, наконец, освободить память. Так почему же он был создан? в каких случаях он может быть использован и когда он должен быть использован вместо нового и удалить? ...
Как увеличить размер кучи приложений в Eclipse?
некоторые говорят, что мне нужно сделать это в конфигурациях запуска для моего приложения. Когда я открываю окно, не могли бы вы сказать мне, как установить правильный аргумент и объем памяти? Скажите, Как установить 2 ГБ или 1,5 ГБ? ...