ההבדל בין Java System.getProperty ל-System.getenv?

Hhbdl Byn Java System Getproperty L System Getenv



ה ' System.getProperty() השיטה מאחזרת את מאפייני המערכת הספציפיים המתאימים לזמן הריצה של Java או לתצורת המערכת. הוא מציע מידע על סביבת ג'אווה ומערכות ההפעלה עבור המערכת שבה הוא מבוצע. מצד שני, ה' System.getenv() שיטת ” ניגשת למשתני הסביבה הספציפיים המוגדרים בסביבת מערכת ההפעלה. הוא מכיל מידע דינמי על המערכת ועל הפעלת המשתמש הנוכחית.

בלוג זה מסביר את ההבדל בין שיטות Java System.getProperty() ו-System.getenv().

מהי שיטת System.getProperty() ב-Java?

ה ' System.getProperty() ' השיטה מחזירה את הערך המשויך למאפיין המערכת שסופק. הוא מורכב מ' ערך מפתח פורמט זוג, כפי שהם מוגדרים על ידי מנהל המערכת או בקבצי תצורה. ניתן להגדיר את הנכס בעזרת ' דגל ' או אם הנכס לא נמצא, ' ריק ” מוחזר. ברירת המחדל או מאפייני המערכת המשמשים לרוב יחד עם התיאור שלהם מתוארים כאן קישור .







חלק ממאפייני המערכת מנוצלים בקטע הקוד שלהלן:



חלק ממאפייני המערכת מנוצלים בקטע הקוד שלהלן:



מעמד הוֹרֶה {
//אתחול שיטת הדרייבר
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
חוּט שם משתמש = מערכת. getProperty ( 'שם משתמש' ) ;
מערכת. הַחוּצָה . println ( 'שם משתמש באמצעות מאפיין מערכת:' + שם משתמש ) ;

חוּט classPath = מערכת. getProperty ( 'java.class.path' ) ;
מערכת. הַחוּצָה . println ( 'נתיב הכיתה הנוכחי ממדריך הבסיס:' + classPath ) ;

מערכת. הַחוּצָה . println ( 'נעשה שימוש בנכס שגוי:' + מערכת. getProperty ( 'בית' ) ) ;

מערכת. הַחוּצָה . println ( 'מידע על גרסת JRE:' + מערכת. getProperty ( 'java.runtime.version' ) ) ;
מערכת. הַחוּצָה . println ( 'הארכיטקטורה של מערכת ההפעלה הנוכחית:' + מערכת. getProperty ( 'os.arch' ) ) ;
}
}

תיאור הקוד לעיל:





  • ראשית, הבעלים או המשתמש האמיתי של המערכת מאוחזר על ידי העברת ה-' שם משתמש ' נכס ב' System.getProperty() ' שיטה.
  • לאחר מכן, הנכס ' java.class.path ' מועבר ל' System.getProperty() שיטה לאחזר את הנתיב של המחלקה הנוכחית מספריית השורש.
  • לאחר מכן, המאפיין הכוזב של ' בית ' זה עבר,
  • ה ' System.getProperty() ' השיטה תציג ' ריק ' המעיד על כך שהנכס אינו קיים.
  • באותו אופן, גרסת Java Runtime וארכיטקטורת המערכת מאוחזרות על ידי העברת ' java.runtime.version ' ו' os.arch ', בהתאמה.

הפלט מראה שהערכים הנדרשים עבור מאפייני מערכת אוחזרו בעזרת שיטת 'System.getProperty()'.



מהי שיטת System.getenv() ב-Java?

ה ' System.getenv() ' השיטה מחזירה את הערך המתאים עבור משתנה הסביבה שצוין. הערכים המוחזרים הם דינמיים וכפי שהם נקבעים על ידי מערכת ההפעלה של המערכת או על ידי המשתמש עבור ההפעלה הנוכחית. כמו שיטת 'System.getProperty()' אם המשתנה לא נמצא או אינו מכיל ערך, ה-' ריק ” מוחזר.

לדוגמה, בקר בקוד הבא:

מעמד rootClass {
//אתחול שיטת הדרייבר
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
מערכת. הַחוּצָה . println ( 'אחזור ערכים באמצעות שיטת System.getenv()' ) ;

חוּט נתיב זמני = מערכת. tenv ( 'TEMP' ) ;
מערכת. הַחוּצָה . println ( 'הנתיב לתיקיית הקבצים הזמניים הוא:' + נתיב זמני ) ;

חוּט מערכת הפעלה = מערכת. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
מערכת. הַחוּצָה . println ( 'מערכת מספר המעבדים מכילה:' + מערכת הפעלה ) ;

חוּט ספריית windows = מערכת. tenv ( 'ווינדיר' ) ;
מערכת. הַחוּצָה . println ( 'הצגת נתיב שורש המערכת -' + ספריית windows ) ;
}
}

הסבר על בלוק הקוד לעיל:

  • ראשית, הכיתה נוצרת עם השם ' rootClass ' וה ' System.getenv() שיטת ' משמשת להחזרת הנתיב של התיקיה הזמנית על ידי העברת ה' TEMP 'כערך.
  • לאחר מכן, מספר המעבדים וספריית Windows עבור המערכת מאוחזר על ידי העברת ' NUMBER_OF_PROCESSORS ' ו' windir ' לשיטת 'System.getenv()', בהתאמה.

לאחר הקומפילציה:

הפלט מאשר שערכי משתני הסביבה הנדרשים מאוחזרים.

ההבדל בין Java System.getProperty ל-System.getenv

ההבדל בין שיטות System.getProperty() ו-System.getenv() מתוארים להלן בטבלה:

טווח System.getProperty() System.getenv()
מַטָרָה הוא משמש לאחזור מאפייני מערכת ספציפיים ל-JVM. הוא משמש לאחזור משתני סביבה ספציפיים לסביבת מערכת ההפעלה.
מָקוֹר מאפייני מערכת מוגדרים בדרך כלל כארגומנטים של שורת פקודה. משתני סביבה מוגדרים בסביבת מערכת ההפעלה.
גִישָׁה זה יכול לאחזר גם מאפייני מערכת וגם משתני סביבה. הוא יכול לאחזר רק משתני סביבה, והוא דורש מפתחות ספציפיים עבור המשתנה.
נוֹהָג הוא משמש בדרך כלל כדי לאחזר מידע על ה-JVM, כגון גרסת Java. הוא משמש בדרך כלל כדי לגשת לתצורות ספציפיות לסביבה או למידע רגיש.
הִטַלטְלוּת הוא בלתי תלוי בפלטפורמה וניתן לגשת אליו באופן עקבי במערכות הפעלה שונות. משתנים יכולים להשתנות בין מערכות הפעלה שונות ועשויים להיות להם התנהגויות שונות.

סיכום

ה ' System.getProperty() לשיטה יש גישה למאפיינים ספציפיים ל-Java ולתצורת מערכת. ה ' System.getenv() ” ניגש למשתני סביבה המוגדרים במערכת ההפעלה. עם זאת, שניהם מתאימים להחזרת מידע הקשור למערכת. יתר על כן, יש להם מטרות דומות לאחזור מידע על סביבת המערכת, אך הם פועלים על קבוצות שונות של נתונים.