Это будет зависеть от нескольких вещей - в частности, от операционной системы и используемого языка.
Например, в MacOS Classic было невозможно выделить больше памяти после запуска - нам приходилось идти и изменять объем памяти, выделяемый с помощью Finder, а затем перезапускать приложение. Это были плохие старые времена.
Современные операционные системы позволяют запущенным процессам запрашивать больше памяти - например, в C вы можете использовать alloc (), malloc (), realloc () или аналогичные для запроса фрагментов памяти. В динамических языках вы просто создаете объекты или переменные, и выделяется больше памяти.
В Java есть ограничение на объем памяти, к которому у JVM есть доступ - и это можно изменить, только перезапустив JVM и передав ему некоторые аргументы (звучит как старые плохие времена, не так ли ?).
В Objective-C, помимо семейства функций malloc (), вы также можете создавать объекты в куче, используя
[object alloc];
, который чаще всего воспринимается как
[[object alloc] init];
Обратите внимание, что это немного отличается от создания объектов в стеке - если вы серьезно относитесь к программированию, изучение разницы между этими двумя также может быть полезным:)
В итоге - программист должен запросить у ОС больше памяти. Это может быть неявным (в динамических языках, путем создания объектов или создания объектов в куче) или явным образом, например, в C с использованием alloc () / malloc () / etc.