Sobes.tech
Junior — Middle

Quels arguments en ligne de commande sont disponibles pour configurer la JVM lors du lancement d'une application Java?

sobes.tech IA

Réponse de l'IA

Lors du démarrage d'une application Java, la JVM peut être configurée à l'aide de divers arguments en ligne de commande qui influencent le comportement de la machine virtuelle. Les principales catégories d'arguments :

  • Configuration de la mémoire :

    • -Xms<size> — taille initiale du tas (heap), par exemple, -Xms512m
    • -Xmx<size> — taille maximale du tas, par exemple, -Xmx1024m
    • -Xss<size> — taille de la pile pour chaque thread
  • Configuration du ramasse-miettes :

    • -XX:+UseG1GC — activer G1
    • -XX:+UseConcMarkSweepGC — activer CMS
    • -XX:+UseParallelGC — activer le ramasse-miettes parallèle
  • Débogage et surveillance :

    • -Xdebug — activer le mode de débogage
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — configuration du débogage à distance
    • -XX:+PrintGCDetails — afficher des détails sur la collecte de déchets
  • Optimisation des performances :

    • -XX:MaxPermSize=<size> (pour les anciennes versions de JVM) — taille de la génération permanente
    • -XX:+UseStringDeduplication — déduplication des chaînes (pour G1)
  • Généralités :

    • -D<nom>=<valeur> — définir des propriétés système
    • -verbose:gc — sortie détaillée de la collecte de déchets

Exemple de lancement avec configuration mémoire et activation de G1 :

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