Java является одним из самых популярных языков программирования в мире благодаря своей платформенной независимости, высокой скорости работы и безопасности. Однако, при работе с большим объемом данных или сложными алгоритмами часто возникает проблема нехватки оперативной памяти, что может привести к снижению производительности, ошибкам и аварийному завершению программы. В этой статье мы рассмотрим, как увеличить выделенный объем оперативной памяти для Java в различных средах.
Увеличение выделенного объема оперативной памяти для Java может быть полезно для решения следующих проблем:
- Завершение работы программы с ошибками на больших объемах данных или сложных алгоритмах;
- Нехватка памяти при выполнении вычислительно сложных задач, например, при обработке изображений и видео;
- Снижение производительности при работе с большим объемом данных, которые не могут поместиться в ограниченном объеме доступной памяти.
За увеличение выделенного объема оперативной памяти в Java отвечает параметр, называемый -Xmx, который определяет максимальный объем доступной памяти, который может быть выделен для работы программы. Далее мы рассмотрим, как изменить значение параметра -Xmx в различных средах.
Необходимость увеличения выделенной памяти
Одной из наиболее критических задач, которые могут возникнуть при работе Java-приложений, является нехватка оперативной памяти. Это может привести к значительному снижению производительности и в крайнем случае даже к аварийному завершению работы приложения. Причем, проблемы с выделением памяти могут возникнуть не только на стороне серверной части приложения, но и на стороне клиентской, например, при работе с большими объемами данных.
Причины, по которым может возникнуть необходимость увеличения выделенной памяти, могут быть различными. В первую очередь это связано с работой приложения с большими объемами данных, например, при обработке больших файлов или работе с базами данных. Также проблемы могут возникать при работе с большим количеством объектов, если происходит частое создание и уничтожение объектов в памяти. Кроме того, недостаток памяти может возникать при работе с приложениями, требующими запуска виртуальных машин или при обработке большого количества запросов.
Решением проблемы нехватки памяти может стать увеличение выделенной памяти. Для этого необходимо провести настройку JVM, установив соответствующие параметры, определяющие максимальную выделенную память. При этом стоит учитывать, что увеличение выделенной памяти может привести к снижению производительности приложения, в связи с чем следует подходить к этому вопросу ответственно и проводить тестирование после каждой настройки.
Важно отметить, что проблемы с выделением памяти могут возникать не только на серверной стороне, но и на стороне клиентской. При работе с большими объемами данных на клиентской стороне также может возникать необходимость увеличения выделенной памяти. В этом случае, рекомендуется использовать оптимальные алгоритмы работы с данными и оптимизировать код, чтобы минимизировать объем потребляемой памяти.
Различные причины малого объема памяти
Существует множество причин, почему Java-программа может использовать мало оперативной памяти:
- Неправильно настроенные параметры JVM. Например, выделенный объем памяти может быть ограничен слишком низким значением, что влияет на производительность приложения.
- Неправильное использование коллекций данных. Некоторые коллекции могут потреблять больше памяти, чем другие, поэтому стоит использовать правильные типы коллекций для каждой конкретной задачи.
- Неоптимальный алгоритм работы приложения. Как правило, некоторые операции в приложении могут потреблять больше памяти, чем другие. Неэффективный алгоритм может приводить к неправильному использованию памяти и низкой производительности приложения в целом.
- Недостаточная оптимизация кода. Чем более оптимизирован код, тем меньше памяти он потребляет. Некоторые программисты может забывать об этом при написании кода, что может приводить к большому расходу памяти.
- Утечки памяти. Это одна из наиболее распространенных причин быстрого расхода оперативной памяти. Утечки могут возникать в результате неправильного освобождения выделенной памяти или оставаться из-за ошибок в коде.
Периодический мониторинг и оптимизация памяти помогут избежать проблем с производительностью приложения и малым выделенным объемом памяти JVM.
Как работает оперативная память в Java
В Java используется управляемая память. Это означает, что программистам не нужно явно выделять или освобождать память, так как это делает автоматически Java Virtual Machine (JVM). Память в Java делится на две части: стек и кучу.
Стек хранит локальные переменные и ссылки на объекты. Каждый метод вызывает свой фрэйм на стеке, который содержит параметры метода и его локальные переменные. Когда метод заканчивает работу, фрэйм удаляется из стека и его данные больше не доступны.
Однако, объекты, созданные в Java, хранятся в куче. Куча это область памяти, в которой объекты хранятся независимо от методов, которые их создали.
Когда создается объект, JVM выделяет необходимое количество памяти и помещает объект в кучу. Эта память автоматически освобождается, когда объект больше не нужен. Важно отметить, что JVM использует сборку мусора для освобождения памяти из кучи.
Сборка мусора — это процесс, который определяет, какие объекты больше не используются и освобождает память, которую они занимают. Это позволяет использовать кучу эффективнее, так как удаляется только тот объект, который уже не нужен.
В целом, в Java выделение и освобождение памяти происходит автоматически, что делает ее более безопасной и менее подверженной ошибкам программистов.
Как JVM использует память
Java Virtual Machine (JVM) работает в виртуальной памяти, что означает, что он управляет только своей собственной памятью, а не всей системной памятью. Большая часть памяти JVM выделена под хранение Java-объектов, методов и потоков.
Каждый Java-процесс имеет свой собственный набор памяти, который можно разделить на несколько областей:
- Непрерывная область памяти (Heap) — это место, где хранятся все Java-объекты. Управление этой областью происходит автоматически, благодаря механизму Java Garbage Collection.
- Стек (Stack) — это область памяти, в которой хранятся временные данные, связанные с функциями и методами. Каждый поток имеет свой собственный стек.
- Метасписок (Metaspace) — это область памяти, где хранятся метаданные классов, методов и других ресурсов JVM. До Java 8, эта область памяти называлась PermGen.
- Нативная (Native) — это область памяти, выделенная для библиотек и других системных объектов.
В зависимости от того, какую задачу выполняет приложение, JVM может использовать различные области памяти. Но в любом случае, чтобы увеличить выделенный объем оперативной памяти для Java, нужно изменять параметры запуска JVM.
Как изменить выделенный объем памяти
В зависимости от конкретного приложения, может потребоваться изменить объем памяти, выделенной для работы программы Java. Для этого можно воспользоваться параметрами командной строки, которые позволяют определить размер кучи для Java-машинки.
Один из наиболее распространенных параметров — это -Xmx. С его помощью вы можете установить максимальный размер кучи, который может использовать Java-машинка. Например, чтобы выделить 512 МБайт оперативной памяти для приложения Java, нужно задать параметр -Xmx512m.
Но этого может не хватить. В этом случае есть еще один параметр — -Xms. Он позволяет установить минимальный размер кучи, выделенной Java-машинке. Если вдруг вам нужно выделить больше памяти, чем используется по умолчанию, установите оба параметра: -Xmx и -Xms.
Некоторые программы Java могут также требовать задать размер кучи в явном виде. Для этого можно воспользоваться файлом конфигурации, где поместить параметры командной строки в формате -XX:Option=Value.
Наконец, есть и другие способы изменения выделенного объема памяти, например, через параметры запуска JVM-машинки или настройки операционной системы. Главное — не забывайте, что повышение объема памяти может повлиять на общую производительность системы.
Параметры командной строки JVM
Параметры командной строки JVM позволяют настраивать различные аспекты работы виртуальной машины Java. Они могут быть полезны для оптимизации производительности приложения, установки лимитов на использование ресурсов, включения или выключения определенных функций и так далее.
Одним из наиболее распространенных параметров является -Xmx, который устанавливает максимальный объем выделяемой оперативной памяти для виртуальной машины. Например, команда java -Xmx2G MyApp запускает приложение с лимитом на использование 2 гигабайт оперативной памяти.
Другой параметр -Xms устанавливает начальный размер выделенной оперативной памяти при запуске JVM. Например, команда java -Xms512M -Xmx2G MyApp задает начальный размер памяти в 512 мегабайт.
Кроме того, существуют многие другие параметры, такие как -XX:MaxPermSize (устанавливает максимальный размер ПЗУ для настраиваемого класса), -XX:+UseG1GC (включает использование алгоритма Garbage First) и т.д. Более подробную информацию о параметрах можно найти на официальном сайте Oracle.
Необходимо отметить, что некоторые параметры могут иметь нежелательные побочные эффекты, такие как увеличение времени запуска или увеличение использования ресурсов. Поэтому перед использованием параметров командной строки JVM следует проводить тестирование и оценку эффективности того или иного параметра в конкретных условиях.
Изменение параметров JVM через IntelliJ IDEA
IntelliJ IDEA предоставляет возможность изменения параметров JVM для вашего проекта. Вам необходимо выбрать проект в панели проектов, а затем выбрать «Edit Configurations» (Изменить конфигурации) из меню «Run» (Запустить).
В появившемся диалоговом окне выберите «Application» и выберите свой проект. На вкладке «Configuration» (Конфигурация) введите дополнительные параметры JVM в поле «VM Options» (Опции JVM).
Вы можете указать, например, параметры для увеличения выделенной памяти для JVM, такие как «-Xms» (начальный размер кучи) и «-Xmx» (максимальный размер кучи) с нужным значением. Также можно указать другие параметры, такие как «-XX:+UseG1GC» (использовать Garbage First Collector), «-XX:MaxPermSize» (максимальный размер Permanent Generation) и многие другие.
После того, как вы внесете необходимые изменения, нажмите «OK», чтобы сохранить конфигурацию. Теперь вы можете запускать свой проект с новыми параметрами JVM и увеличенным объемом выделенной памяти.
Изменение параметров JVM через IntelliJ IDEA — это очень удобный способ настройки вашего проекта под конкретные потребности и требования. Следуйте этому гайду и настройте свой проект на максимальную производительность!
Как узнать текущий объем памяти
Для того чтобы узнать текущий объем памяти компьютера, на котором запущена Java, нужно выполнить несколько простых шагов.
- Открыть программу Task Manager (менеджер задач) на Windows или Activity Monitor на Mac.
- Перейти на вкладку Performance (производительность).
- Выбрать Memory (память).
После выполнения этих действий пользователь увидит текущий объем доступной оперативной памяти. Эта информация поможет определить, сколько свободной памяти можно выделить для работы с Java.
Если же требуется узнать текущий объем выделенной оперативной памяти для Java, то можно воспользоваться специальным инструментом JDK — jcmd.
- Открыть командную строку (Windows) или терминал (Mac).
- Набрать команду jcmd, затем SPACE.
- Ввести номер процесса Java, к которому нужно получить доступ.
- Ввести команду VM.flags.
После выполнения этих действий пользователь увидит список опций Java Virtual Machine (JVM), включая Xmx — максимальный объем выделенной оперативной памяти для Java.
Как узнать объем памяти с помощью командной строки
Чтобы узнать объем оперативной памяти вашего компьютера, вы можете воспользоваться командной строкой. Для этого необходимо выполнить следующие шаги:
- Откройте командную строку. Для этого в меню «Пуск» найдите раздел «Выполнить» и введите команду «cmd».
- Введите команду «systeminfo». Она позволяет получить детальную информацию о вашей системе, включая объем памяти.
- Дождитесь, пока система обработает запрос. Это может занять несколько секунд.
- В результате выполнения команды «systeminfo» выведется множество информации о вашей системе, в том числе и объем оперативной памяти. Ищите строку «Объем физической памяти» — это и есть нужная вам информация.
Не стоит забывать о том, что доступный объем памяти может различаться в зависимости от версии операционной системы и её настроек. Если вы обнаружите, что объем памяти не соответствует вашим ожиданиям, то возможно, вам понадобится изменить настройки системы.
Как узнать объем памяти с помощью утилиты VisualVM
VisualVM — это инструмент мониторинга и профилирования Java-приложений. Он может быть использован для определения объема оперативной памяти, используемой вашим приложением, и для просмотра использования памяти во время выполнения вашего приложения.
Чтобы узнать текущий объем оперативной памяти, используемой вашим приложением, следуйте следующим шагам:
- Запустите VisualVM и выберите свое Java-приложение в левой панели. Если вам необходимо подключиться к удаленному приложению, сначала подключитесь к удаленному хосту и выберите соответствующее приложение.
- Перейдите на вкладку «Мониторинг». Здесь вы увидите график, показывающий потребление памяти вашим приложением. Внизу графика вы увидите раздел «Суммарное использование памяти», который указывает текущий объем памяти, используемый вашим приложением.
При помощи VisualVM вы можете также просмотреть использование каждого класса в процессе выполнения вашего приложения, что поможет идентифицировать утечки памяти и определить, какие части вашего приложения потребляют больше памяти.
В заключение, VisualVM — это очень полезный инструмент для мониторинга и профилирования Java-приложений. Он упрощает отладку и оптимизацию приложений, позволяя легко выявить проблемы с использованием памяти и определить, где улучшения могут быть внесены.
Какие ограничения существуют при увеличении памяти
Увеличение оперативной памяти — это хороший способ увеличить производительность выполнения программ, но этот процесс не без ограничений.
Во-первых, не всегда возможно выделить больше памяти для Java. Например, в некоторых случаях операционная система может ограничивать объем выделяемой памяти для процесса.
Во-вторых, увеличение памяти может привести к уменьшению производительности, если выделенный объем превышает потребность приложения. Это связано с тем, что больший объем памяти увеличивает время сборки мусора и может вызывать задержки в работе программы.
Также стоит учитывать, что увеличение памяти приводит к увеличению затрат на сервере. Поэтому рекомендуется тщательно оценить потребности приложения и выделять память по мере необходимости.
Важно также отметить, что увеличение памяти не решает всех проблем с производительностью. Если проблема заключается в неэффективном коде, то увеличение памяти не даст существенных улучшений.
В целом, увеличение памяти может дать заметный эффект при правильном подходе, но не следует забывать о возможных ограничениях и недостатках этого подхода.
Ограничения операционной системы
Одним из факторов, влияющих на выделенный объем оперативной памяти для Java, являются ограничения операционной системы.
Операционные системы имеют свои лимиты на выделение памяти для процессов. Эти ограничения основаны на различных факторах, таких как доступный объем физической памяти, а также количество и тип потоков, работающих на компьютере.
Кроме того, различные версии операционных систем имеют различный подход к управлению памятью и условиями использования процессора, что может влиять на объем RAM, выделяемый для Java.
Важно учитывать эти ограничения при попытке увеличить объем оперативной памяти для Java, поскольку превышение лимитов может привести к неожиданным ошибкам и сбоям в работе системы.
Рекомендуется соблюдать рекомендации по управлению памятью и просматривать логи системы, чтобы увидеть, как происходит распределение Java-процессов и используемой ими памяти.
Ограничения аппаратного обеспечения
Не всегда возможно увеличить выделенный объем оперативной памяти для Java, так как есть ограничения аппаратного обеспечения. В первую очередь, это касается ноутбуков и компьютеров с устаревшим «железом».
Недостаточная оперативная память может привести к медленной работе приложений, зависаниям и ошибкам в работе системы. Поэтому перед установкой Java необходимо убедиться, что ваше устройство может ее поддерживать.
Если вы используете компьютер с операционной системой Windows, то для использования Java необходимо как минимум 2 ГБ оперативной памяти. Использование операционной системы macOS требует еще большего объема памяти — от 4 ГБ и выше.
Некоторые компьютеры и ноутбуки имеют ограничение на объем оперативной памяти, которую можно добавить. Для того чтобы узнать максимальный объем оперативной памяти, поддерживаемый вашим устройством, можно найти документацию на устройство на официальном сайте производителя.
Если устройство не поддерживает требуемый объем оперативной памяти, увеличить выделенный объем для Java не получится. В этом случае стоит либо установить на устройство более легковесную операционную систему, либо приобрести новый компьютер.
Какие рекомендации придерживаться при увеличении памяти
1. Определиться с нужным объемом памяти. Прежде чем приступать к увеличению памяти, необходимо определиться с объемом, который нужен для работы приложения. Слишком большой объем памяти может привести к нежелательным фрагментированиям и ухудшению производительности, а слишком маленький – к переполнению памяти и падению работоспособности приложения.
2. Проанализировать нагрузку на приложение. Необходимо изучить, сколько памяти занимают объекты, используемые приложением, и как часто создаются новые объекты. Также следует учитывать количество пользователей, работающих с приложением, и их сценарии использования.
3. Использовать параметры JVM. Для управления выделенным объемом оперативной памяти в Java можно использовать различные параметры JVM. Например, параметр -Xmx указывает максимальный объем выделяемой памяти, а параметр -Xms задает начальный объем выделяемой памяти при старте JVM.
4. Запускать приложение на выделенном сервере. Если приложение работает на сервере вместе с другими приложениями, то его производительность может страдать из-за недостаточного выделенного объема памяти. Лучше всего запускать приложение на отдельном выделенном сервере.
5. Регулярно перезапускать приложение. Периодический перезапуск приложения может помочь освободить занимаемую им память и улучшить его производительность.
6. Оптимизировать алгоритмы работы приложения. Хорошо написанные алгоритмы и применение эффективных структур данных могут значительно уменьшить потребление оперативной памяти приложением. Поэтому следует уделить внимание оптимизации кода приложения.
7. Мониторить использование памяти. Важно регулярно отслеживать использование памяти приложением. Для этого можно использовать специальные утилиты, такие как JConsole или VisualVM. Таким образом, можно выявить утечки памяти и другие проблемы в работе приложения своевременно.
8. Учитывать особенности конкретного приложения. Не все приложения одинаково нагружают оперативную память. Поэтому необходимо учитывать особенности конкретного приложения и его сценарии использования при выборе оптимального объема памяти и параметров JVM.
Как выбрать оптимальный объем памяти
Ключевым фактором при выборе оптимального объема памяти являются требования приложения. Некоторые приложения могут работать стабильно с небольшим объемом памяти, в то время как другие могут потребовать значительно больше.
Для определения точного объема памяти, который потребуется для работы вашего приложения, можно воспользоваться инструментом управления памятью, например, Java VisualVM. Он позволяет отслеживать использование памяти в реальном времени и определить, сколько оперативной памяти потребляет ваше приложение в различных сценариях использования.
Кроме того, рекомендуется учитывать объем доступной оперативной памяти на компьютере, на котором будет запускаться приложение. Если вы выделите слишком большой объем памяти, это может привести к задержкам и снижению общей производительности системы из-за более частых операций сборки мусора. Если же вы выделите недостаточно памяти, приложение может периодически вылетать из-за недостатка ресурсов.
В целом, для достижения оптимальной производительности рекомендуется начинать с небольшого объема памяти и постепенно увеличивать его до тех пор, пока приложение продолжает работать стабильно и без ошибок.
Как следить за использованием памяти
Правильное использование памяти — важный аспект в работе с Java. Каждый объект, созданный в Java, занимает определенный объем памяти. Если объем используемой памяти становится слишком большим, то приложение может начать тормозить или даже перестать работать.
Для того, чтобы следить за использованием памяти в Java, можно использовать утилиту jconsole. Она позволяет отслеживать количество используемой оперативной памяти и размер кучи, которая выделена для работы Java-приложения.
Также можно использовать утилиту jstat, которая позволяет отслеживать использование памяти в реальном времени. Она выводит информацию о размере кучи, количестве потоков и используемых ресурсах.
Для более подробного анализа использования памяти можно воспользоваться утилитой VisualVM. В ней содержится информация о каждом объекте, который используется в приложении, а также о его размере и времени жизни.
Важно следить за использованием памяти в Java, чтобы избежать проблем с производительностью и некорректной работой приложения. Использование утилит для мониторинга памяти позволяет узнать о возможных проблемах заранее и исправить их до возникновения серьезных ошибок.
Важные моменты, которые нужно учитывать при изменении памяти
1. Не всегда увеличение объема выделенной памяти увеличивает производительность
Оперативная память – это ресурс, который нужно эффективно использовать. Увеличение объема памяти приводит к более длительным сборкам мусора и может затормозить работу приложения. Для достижения оптимальной производительности необходимо совершенствовать алгоритмы работы приложения и оптимизировать использование памяти.
2. При изменении памяти нужно учитывать характеристики компьютера
Размер памяти, процессор и другие характеристики компьютера могут влиять на максимально возможный объем выделяемой оперативной памяти для Java. Необходимо учитывать эти факторы при изменении памяти, чтобы не превысить лимиты компьютера, что может привести к снижению производительности или к полному зависанию системы.
3. Изменение памяти может быть необходимо при работе с большими объемами данных
При работе с большими объемами данных, Java может выделять и освобождать большое количество памяти, что может замедлить работу приложения. В этом случае может быть необходимо изменить параметры выделения памяти в настройках приложения или в командной строке запуска приложения.
4. Изменение памяти может быть частью процесса оптимизации приложения
Увеличение выделенной оперативной памяти для Java может быть частью процесса оптимизации приложения. Например, при разработке сверхбольших проектов с множеством модулей и компонентов. В этом случае изменение памяти позволяет обеспечить более быструю и эффективную работу приложения.
Не забывайте сохранять изменения
После всех настроек и изменений, необходимо сохранить их перед закрытием настроек или выходом из программы. Это позволит избежать потери всех настроек и изменений.
Рекомендуется сохранять изменения после каждого важного шага настройки, чтобы, в случае сбоя в работе программы, не потерять все проделанную работу.
Чтобы сохранить изменения, в программе нужно нажать на кнопку «Сохранить». В некоторых случаях, нужно будет войти в режим администратора, чтобы иметь возможность сохранять изменения.
Также, перед выполнением установки Java, нужно сохранить все открытые документы и закончить все работающие процессы. Это позволит избежать возможных ошибок и потерь данных.
Важно помнить, что в некоторых случаях, изменения могут вступить в силу только после перезагрузки компьютера. Поэтому не забывайте перезагрузить компьютер после настроек, если это необходимо.
Всегда помните о сохранении изменений, чтобы избежать потери данных и проделанной работы.
Будьте внимательны при выборе объема памяти
При увеличении выделенного объема оперативной памяти для Java необходимо быть внимательным при выборе оптимального объема. Слишком большой объем памяти может негативно сказаться на производительности приложения, в то время как слишком маленький объем может привести к частым ошибкам и прерываниям при работе.
В первую очередь нужно оценить количество доступной памяти на компьютере и убедиться, что выбранный объем не превышает доступный лимит. Оптимальный объем памяти должен удовлетворять потребности конкретного приложения и его нагрузке. Например, приложения с большим потреблением памяти, такие как базы данных или графические редакторы, могут требовать большего объема RAM.
Не стоит злоупотреблять выделением памяти для Java, это может привести к неожиданным ошибкам и сбоям в работе операционной системы. Важно помнить, что объем памяти не должен превышать реальные потребности приложения.
- Убедитесь, что выбранный объем памяти не превышает доступный лимит на компьютере;
- Выбирайте объем памяти, удовлетворяющий потребности конкретного приложения;
- Не злоупотребляйте выделением памяти для Java, это может привести к ошибкам и сбоям в работе операционной системы.
В целом, выбор объема оперативной памяти для Java зависит от специфики приложения и его нагрузки. Рекомендуется тщательно оценить потребности приложения и выбрать оптимальный объем памяти, который не превышает допустимый лимит на компьютере.
FAQ
Как узнать текущий объем выделенной оперативной памяти для Java?
Для того чтобы узнать текущий объем выделенной оперативной памяти для Java, вам необходимо запустить командную строку и выполнить следующую команду: java -XX:+PrintFlagsFinal -version | grep -iE ‘HeapSize|PermSize|ThreadStackSize’. Она выведет информацию о текущих параметрах памяти для вашей версии Java.
Почему моя программа на Java выдает ошибку OutOfMemoryError?
Ошибка OutOfMemoryError возникает, когда программа требует больше оперативной памяти, чем ей было выделено. Это может происходить из-за большого числа создаваемых объектов, недостаточной настройки выделенного объема памяти или сборкой мусора, которая не успевает обрабатывать все объекты.
Как увеличить выделенный объем оперативной памяти для Java?
Для того чтобы увеличить выделенный объем оперативной памяти для Java, нужно использовать флаги -Xmx и -Xms при запуске программы. Например, для выделения 2 гигабайт памяти используйте команду: java -Xmx2g -Xms2g MyProgram. Эти флаги определяют максимальный и начальный размер памяти, доступной для вашей программы.
Какой объем памяти рекомендуется выделять для больших программ на Java?
Рекомендуется выделять больше памяти, чем будет использоваться в программе, чтобы избежать ошибки OutOfMemoryError. Однако, слишком большой объем памяти также может привести к проблемам с производительностью. Рекомендуется выделять от 1 до 4 гигабайт памяти в зависимости от программы и используемых библиотек.
Как настроить garbage collector для ускорения работы программы?
Настройка garbage collector зависит от размера выделенной оперативной памяти и характеристик программы. Например, для программ с малым объемом памяти рекомендуется использовать ParallelGC, а для программ с большим объемом памяти и требовательных к производительности — G1GC. Для настройки garbage collector используйте флаги -XX:+UseParallelGC или -XX:+UseG1GC при запуске программы.
Cодержание