Рубрики
Без рубрики

JVM из-под салфетки #2 – VMproperties и введение в Памяти

☕ Это моя серия статей о Java Virtual Machine! Основной JVM является то, что indispensáv… С тегом java, учебник, продвинутый.

☕ Это моя серия статей о Java Virtual Machine!

Основной JVM-это то, что является необходимым для вас, чтобы понять, от простой настройки, до управления памятью в JVM.

Общие сведения о Виртуальных машин в среде IDE

Настройки виртуальной машины в среде IDE развития очень важно, чтобы ваш код поверните таким образом, что не влияют, ничего, мы увидим больше вперед, как все вокруг JVM делает все, что имеете дело более ответственно можно. Итак, давайте с чего-то начинать, а потом погрузиться глубже в памяти.

Совет: Это интересно и чрезвычайно важно, чтобы JVM быть настроен в соответствии с вашей IDE, вы можете получить этот параметр, можно несколькими способами, но в этом уроке я a ensenar a configuraçao sendo подвиг без интеллекта без Windows 10

Конфигурация o Интеллект

В нем самый простой способ изменить параметры JVM в:

Ajuda > Изменить пользовательские параметры виртуальной машины

Это действие приведет в копии файла .vmproperties, после это сделать в конфигурации каталога вашей IDE, вы будете иметь документ в редакторе, который может быть изменен в соответствии с изображением ниже:

Если вы не можете сделать это в среде IDE, все в порядке, открыв терминал (cmd или терминал) , вы можете редактировать этот файл вручную, с помощью следующей команды:

SUA_IDE\bin\[bits][.exe].vmoptions

В приведенном ниже примере выполняется этот файл в терминале Windows 10, увидел папку, где был мой IDE (IntelliJ) , и оттуда я запустил мой .vmproperties и тогда я запустил VM options, путь может меняться в зависимости от папки, это экономит ваше IDE, и где этот код, который редактируется.

После запуска будете перенаправлены в редактор, желательно

idea64.exe.vmoptions

Изображение, у нас есть возможности редактора:

Параметры, заданные в строке, и вы можете настроить способ, который будет наиболее приемлем pro ваша система, настройки по умолчанию, которые вы можете приобрести, как это ниже, в той же доступна на веб-сайте JebBrains с незначительными изменениями, отвечающими к моей системе.

-server
-Xms128m
-Xmx512m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:MaxJavaStackTraceDepth=-1

Общие параметры

-Xmx Ограничивает размер кучи JVM может выделить и запустить в IntelliJ. Значение по умолчанию зависит от платформы, если вы столкнулись с медленной скоростью вы можете увеличить это значение, например, установить он тебя 2048 мегабайт, что будет -Xmx2048m .
-Xms Определяет начальную память, выделенную с помощью JVM для запуска IntelliJ. O доблесть падрао депенди да платаформа, чтобы оценить нас, жеральменте, определяющий пункт, определяющий метод максимальных разрешений (-Xmx), для примера, – Xms1024m.
-XX : NewRatio Особенный разан вход о таманьо да Молодое поколение е Старое поколение. На майория дос касос, рекомендация – соотношение ума 2 е 4. Это определит размер young generation быть 1/2 до 1/4 old generation соответствующий, что это даже приятно, когда вы часто работает в рамках проекта, и только один файл за раз. Нет энтанто, се вокэ эста константементе абриндо аркивос новос, е альтернандо энтре вариос проектос, вокэ поде прецизар аументар молодое поколение. Несте касо, тете а конфигурасао, ке торнаре молодое поколение два гранде кванто старое поколение, разрешите в до ке морей objetos criados permaneçam на молодое поколение в темпе

Você deve essere се пергунтандо о том, что Сан-элас это Старое поколение, Молодое поколение и близкие, не так ли?

Теперь мы переходим на другой уровень, где мы рассмотрим управление памятью, в этой статье мы будем иметь только один смысл, что каждая новая:

Мы последующих статьях мы рассмотрим более подробно .

Введение в памяти JVM

В основном JVM делится на две части: Память из Кучи, и Non-heap (что также вы можете узнать po-куча), территории, рассматривается как Кучи и Не-Кучи, и в некоторых книгах или внешних источников вы можете найти как Стек также, что будут использоваться памяти. посмотрите, в архитектуре ниже:

смысл каждого:

-> Кучи :- это как зона для динамического распределения, где его место резервируется для сохранения váriaveis и данные, которые создаются во время выполнения программы.

В общем Куча все структурирована и поделена на поколения для лучшей организации объектов, которые будут доставлены.

-> Молодое поколение в это время жизни минимум один объект, перед garbage collector пройти через это поколение, они выделяются вокруг, и внутри young generation имеем следующие пробелы:

-> Эдем : как само название уже говорит: Эдем, то есть, в начале, в этом пространстве находятся выделенные объекты, новые, недавно созданные. Каждый объект, созданный, например, Лица Человека (в ); будет выделено в этом пространстве памяти.

Эта область, как правило, сохранять объекты, на некоторое время, ибо в течение каждого выполнения программы, многие из этих объектов, то объекты проходят короткий жизненный цикл в Eden.

-> Survivor Spaces : после Eden быть полностью заняты и без возможности иметь никаких нового объекта внутри него, даже проходят при Survivor Spaces, где JVM выполняет Garbage Collection (мы увидим далее о том же) удаляет объекты, которые находятся без ссылки и использования, чтобы освободить больше памяти. Когда объекты создаются правильно и со ссылкой, они проходят Eden и выдерживают Garbage Collector, перемещаются в области выживания, но с надеждой, перешли к следующему.

-> Old Generation : в принципе, когда нет больше места в memóra объектами, выделенные в Old Generation.

-> Permanent Generation : после того, как весь этот цикл жизни, вы достигнете поколения постоянное место определяется JVM для хранения параметров для классов

Стоит помнить, что все это управление памятью это основанный на Java 8

И мы здесь, следите за эту серию на Java Virtual Machine, в следующей статье мы СБОРЩИКИ МУСОРА

Характеристика:

Оригинал: “https://dev.to/anabneri/jvm-por-debaixo-dos-panos-2-vmproperties-e-introducao-a-memoria-2llm”