Correto VS Oracle на 32-битной Windows с -Xmx - PullRequest
0 голосов
/ 14 февраля 2019

Я проводил сравнение между Amazon Correto и Oracle JRE (Windows 32-bit) и заметил, что они выделяют максимальное количество памяти по-разному.

Итак, я сделал этот пример кода и запустил его на разных JRE.Результаты:

  • 32-битный Amazon Corretto - jre1.8.0_202

    • Без -Xmx
      • Runtime.getRuntime (). MaxMemory (): 652476416
    • С -Xmx1024m
      • Runtime.getRuntime (). MaxMemory (): 954466304
    • С -Xms1024m
      • Runtime.getRuntime (). MaxMemory (): 1029177344
  • Amazon Corretto 64 бита - jre1.8.0_202

    • без -Xmx
      • Runtime.getRuntime (). MaxMemory (): 947388416
    • с -Xmx1024m
      • Runtime.getRuntime (). MaxMemory (): 954728448
    • С -Xms1024m
      • Runtime.getRuntime (). MaxMemory (): 1029177344
  • Oracle 32 бита - jre1.8.0_202

    • Без -Xmx
      • Runtime.getRuntime (). MaxMemory(): 259522560
    • С -Xmx1024m
      • Runtime.getRuntime (). MaxMemory (): 1037959168
    • С -Xms1024m
      • Runtime.getRuntime (). MaxMemory (): 1037959168
  • Oracle 64 бита - jre1.8.0_202

    • Без -Xmx
      • Runtime.getRuntime (). MaxMemory (): 947388416
    • С -Xmx1024m
      • Runtime.getRuntime (). MaxMemory (): 954728448
    • С -Xms1024m
      • Runtime.getRuntime() .maxMemory (): 1029177344

Вот код:

public class Main {
   /**
    * @param args
    */
   public static void main( String[] args ) {
     System.out.println( "Runtime.getRuntime().maxMemory(): " + Runtime.getRuntime().maxMemory() ); // JOSE_RENATO Remover
   }
}

Итак, почему Oracle JRE 32 битавыделяет больше памяти при использовании параметра -Xmx?

И почему это поведение отличается в 64-битной версии?

...