Junior — Middle
Ποια επιχειρήματα γραμμής εντολών είναι διαθέσιμα για τη διαμόρφωση της JVM κατά την εκκίνηση μιας εφαρμογής Java;
sobes.tech AI
Απάντηση από AI
Κατά την εκκίνηση μιας εφαρμογής Java, η JVM μπορεί να διαμορφωθεί χρησιμοποιώντας διάφορα επιχειρήματα γραμμής εντολών που επηρεάζουν τη συμπεριφορά της εικονικής μηχανής. Οι κύριες κατηγορίες επιχειρημάτων:
-
Ρύθμιση μνήμης:
-Xms<size>— αρχικό μέγεθος της στοίβας (heap), π.χ.,-Xms512m-Xmx<size>— μέγιστο μέγεθος της στοίβας, π.χ.,-Xmx1024m-Xss<size>— μέγεθος της στοίβας για κάθε νήμα
-
Ρύθμιση συλλέκτη garbage:
-XX:+UseG1GC— ενεργοποίηση G1-XX:+UseConcMarkSweepGC— ενεργοποίηση CMS-XX:+UseParallelGC— ενεργοποίηση παράλληλου συλλέκτη garbage
-
Αποσφαλμάτωση και παρακολούθηση:
-Xdebug— ενεργοποίηση λειτουργίας αποσφαλμάτωσης-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005— διαμόρφωση απομακρυσμένης αποσφαλμάτωσης-XX:+PrintGCDetails— εμφάνιση λεπτομερών πληροφοριών σχετικά με τη συλλογή garbage
-
Βελτιστοποίηση απόδοσης:
-XX:MaxPermSize=<size>(για παλαιότερες εκδόσεις JVM) — μέγεθος της διαρκούς γενιάς-XX:+UseStringDeduplication— deduplication συμβολοσειρών (για G1)
-
Γενικά:
-D<όνομα>=<τιμή>— ορισμός ιδιοτήτων συστήματος-verbose:gc— αναλυτική έξοδος σχετικά με τη συλλογή garbage
Παράδειγμα εκκίνησης με ρύθμιση μνήμης και ενεργοποίηση G1:
java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar