Sobes.tech
Junior — Middle

რა ბრძანების ხაზი არგუმენტები ხელმისაწვდომია JVM-ის კონფიგურაციისთვის Java პროგრამის დაწყებისას?

sobes.tech AI

პასუხი AI-სგან

Java პროგრამის დაწყებისას, JVM შეიძლება სხვადასხვა ბრძანების ხაზი არგუმენტებით კონფიგურირდეს, რომლებიც გავლენას ახდენენ ვირტუალურ მანქანაზე. ძირითადი არგუმენტების კატეგორიები:

  • მეხსიერების კონფიგურაცია:

    • -Xms<size> — დასაწყისის heap ზომა, მაგალითად, -Xms512m
    • -Xmx<size> — მაქსიმალური heap ზომა, მაგალითად, -Xmx1024m
    • -Xss<size> — თითო თრედისთვის სტეკის ზომა
  • გაწმენდის აგრეგატორის კონფიგურაცია:

    • -XX:+UseG1GC — G1-ის ჩართვა
    • -XX:+UseConcMarkSweepGC — CMS-ის ჩართვა
    • -XX:+UseParallelGC — პარალელური გრაფის ჩართვა
  • დაგმარება და მონიტორინგი:

    • -Xdebug — დებაგერის რეჟიმის ჩართვა
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — დისტანციური დებაგერის კონფიგურაცია
    • -XX:+PrintGCDetails — დეტალური ინფორმაცია გრაფის შესახებ
  • შესრულების ოპტიმიზაცია:

    • -XX:MaxPermSize=<size> (ძველი JVM ვერსიებისთვის) — მუდმივი თაობის ზომა
    • -XX:+UseStringDeduplication — სტრიქონების დედუპლიკაცია (G1-ისთვის)
  • საერთო:

    • -D<სახელი>=<მნიშვნელობა> — სისტემის თვისებების დაყენება
    • -verbose:gc — დეტალური გამოტანა გრაფის შესახებ

მოყვანილი მაგალითი, მეხსიერების კონფიგურაციით და G1-ის ჩართვით:

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