Sobes.tech
Junior — Middle

Welche Befehlszeilenargumente stehen zur Verfügung, um die JVM beim Starten einer Java-Anwendung zu konfigurieren?

sobes.tech KI

Antwort von AI

Beim Starten einer Java-Anwendung kann die JVM mit verschiedenen Befehlszeilenargumenten konfiguriert werden, die das Verhalten der virtuellen Maschine beeinflussen. Die Hauptkategorien der Argumente:

  • Speicherkonfiguration:

    • -Xms<size> — Anfangsgröße des Heaps, z.B. -Xms512m
    • -Xmx<size> — maximale Größe des Heaps, z.B. -Xmx1024m
    • -Xss<size> — Stackgröße für jeden Thread
  • Garbage Collector-Konfiguration:

    • -XX:+UseG1GC — G1-Garbage-Collector aktivieren
    • -XX:+UseConcMarkSweepGC — CMS aktivieren
    • -XX:+UseParallelGC — parallelen Garbage Collector aktivieren
  • Debugging und Überwachung:

    • -Xdebug — Debug-Modus aktivieren
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — Remote-Debugging konfigurieren
    • -XX:+PrintGCDetails — detaillierte Informationen zur Müllsammlung ausgeben
  • Leistungsoptimierung:

    • -XX:MaxPermSize=<size> (für ältere JVM-Versionen) — Größe der permanenten Generation
    • -XX:+UseStringDeduplication — String-Deduplication (für G1)
  • Allgemein:

    • -D<name>=<wert> — Systemeigenschaften setzen
    • -verbose:gc — detaillierte Müllsammlungsinformationen ausgeben

Beispiel für den Start mit Speicher- und G1-Konfiguration:

java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar