Sobes.tech
Junior — Middle

Quali argomenti della riga di comando sono disponibili per configurare la JVM all'avvio di un'applicazione Java?

sobes.tech AI

Risposta dell'AI

All'avvio di un'applicazione Java, la JVM può essere configurata utilizzando vari argomenti da riga di comando che influenzano il comportamento della macchina virtuale. Le categorie principali di argomenti:

  • Configurazione della memoria:

    • -Xms<size> — dimensione iniziale dell'heap, ad esempio, -Xms512m
    • -Xmx<size> — dimensione massima dell'heap, ad esempio, -Xmx1024m
    • -Xss<size> — dimensione dello stack per ogni thread
  • Configurazione del garbage collector:

    • -XX:+UseG1GC — abilitare G1
    • -XX:+UseConcMarkSweepGC — abilitare CMS
    • -XX:+UseParallelGC — abilitare il garbage collector parallelo
  • Debug e monitoraggio:

    • -Xdebug — abilitare modalità di debug
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — configurazione del debug remoto
    • -XX:+PrintGCDetails — mostrare dettagli sulla raccolta dei rifiuti
  • Ottimizzazione delle prestazioni:

    • -XX:MaxPermSize=<size> (per versioni JVM più vecchie) — dimensione della generazione permanente
    • -XX:+UseStringDeduplication — deduplicazione delle stringhe (per G1)
  • Generale:

    • -D<nome>=<valore> — impostare proprietà di sistema
    • -verbose:gc — output dettagliato sulla raccolta dei rifiuti

Esempio di avvio con configurazione della memoria e abilitazione di G1:

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