Исходный код вики Использование памяти
Версия 5.1 от Alexandr Fokin на 2021/11/21 19:25
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | |||
2 | Паямять в Net: | ||
3 | |||
4 | 1) **Стек | Stack** - область памяти, выделяемая для каждого потока. | ||
5 | Используется для хранения стека вызова функций потока, параметров при вызове функций и локальных переменных (структур и ссылока на классы). | ||
6 | Имеет константный размер, при переполнении приводит к падению программы. | ||
7 | Выделение памяти и отчистка происходит быстро (по сравнению с другими), не задействует сборщик мусора. | ||
8 | |||
9 | 2) **Куча | Heap** - основная область для хранения экземпляров объектов. | ||
10 | В своей работе задействует сборщик мусора, для оптимизации пространсва также происходит процесс дефрагментации. | ||
11 | Состоит из 4 компонентов: | ||
12 | 2.1) Основной раздел | ||
13 | 2.2) LOH | Large object heap | ||
14 | 2.3) POH | Pinned object heap | ||
15 | 2.4) Unmanaged memory | Неуправляемая память. Может использовать для написания менее безопасного, но более быстрого кода, а также для взаимодествия с библиотеками из других языков. | ||
16 | |||
17 | |||
18 | Ссылки: | ||
19 | |||
20 | Обработка больших объемов данных в памяти на C# | ||
21 | https://habr.com/ru/post/114495/ | ||
22 | |||
23 | Память: LOH и Chunked Lists | ||
24 | https://habr.com/ru/post/83929/ | ||
25 | |||
26 | .NET Max Memory Use 2GB even for x64 Assemblies | ||
27 | https://stackoverflow.com/questions/982051/net-max-memory-use-2gb-even-for-x64-assemblies | ||
28 | |||
29 | CLRium Оптимизация программ под Garbage Collector | ||
30 | https://habr.com/ru/company/clrium/blog/453082/ |