1.) Да Объем памяти можно выделить JVM связан с физической памятью, доступной в системе. Не существует фиксированной формулы, однако есть правило, которое вы можете использовать для определения размера выделения памяти для вашего процесса. Существует рекомендация по памяти для разных операционных систем. Так (PhysicalMemory - Рекомендуемая память ОС) может быть выделено для процесса java. Он варьируется для 32-разрядной и 64-разрядной ОС. Если у вас нет другого процесса, эта формула будет работать нормально. Однако, если у вас есть другие процессы, связанные с потреблением памяти, вам необходимо также учитывать распределение памяти этих процессов.
например. Windows 7 имеет следующее рекомендуемое требование: 1 gigabyte (GB) RAM (32-bit) or 2 GB RAM (64-bit)
. Итак, если у вас есть 4 ГБ физической памяти, то вы можете выделить 2 ГБ для вашего процесса, если 2 ГБ используется ОС.
2.) Для 32-разрядной JVM вы не можете установить значение больше 4 ГБ. Фактически, если ваша общая физическая память составляет 4 ГБ. Вы не можете выделить более 2 ГБ для своего Java-процесса. Checkout this answer для более подробного объяснения
3.) Да, вы должны учитывать воздействие ОС. Проверьте рекомендуемую конфигурацию памяти для разных операционных систем и определите память для вашего Java-процесса.
Надеюсь, это поможет.
У вас есть причины выбрать один? какое исследование вы сделали до сих пор? – the8472