Mi a különbség a Java System.getProperty és a System.getenv között?

Mi A Kulonbseg A Java System Getproperty Es A System Getenv Kozott



A ' System.getProperty() ” metódus lekéri a Java futtatókörnyezetnek vagy a rendszerkonfigurációnak megfelelő rendszertulajdonságokat. Információkat kínál a Java környezetről és annak a rendszernek az operációs rendszereiről, amelyen futtatják. Másrészt a „ System.getenv() ” metódus hozzáfér az operációs rendszer környezetben meghatározott konkrét környezeti változókhoz. Dinamikus információkat tartalmaz a rendszerről és az aktuális felhasználói munkamenetről.

Ez a blog elmagyarázza a Java System.getProperty() és System.getenv() metódusok közötti különbséget.

Mi az a System.getProperty() metódus a Java nyelvben?

A ' System.getProperty() ” metódus a megadott rendszertulajdonsághoz tartozó értéket adja vissza. Ez egy ' kulcs érték ” pár formátumban, ahogy azokat a rendszergazda vagy a konfigurációs fájlokban meghatározza. Az ingatlan a „ -D ' zászlót, vagy ha az ingatlan nem található, a ' nulla ” visszakapják. Az alapértelmezett vagy leginkább használt rendszertulajdonságok leírásával együtt itt találhatók link .







A rendszer néhány tulajdonságát az alábbi kódrészlet használja:



A rendszer néhány tulajdonságát az alábbi kódrészlet használja:



osztály szülő {
//Az illesztőprogram metódusának inicializálása
nyilvános statikus üres fő- ( Húr [ ] args ) {
Húr felhasználónév = Rendszer. getProperty ( 'felhasználónév' ) ;
Rendszer. ki . println ( 'Felhasználónév a rendszertulajdonság használatával: ' + felhasználónév ) ;

Húr classPath = Rendszer. getProperty ( 'java.class.path' ) ;
Rendszer. ki . println ( 'A jelenlegi osztály elérési útja a gyökérkönyvtárból:' + classPath ) ;

Rendszer. ki . println ( 'Rossz tulajdonságot használtak:' + Rendszer. getProperty ( 'itthon' ) ) ;

Rendszer. ki . println ( 'A JRE verzió információi:' + Rendszer. getProperty ( 'java.runtime.version' ) ) ;
Rendszer. ki . println ( 'A jelenlegi rendszer operációs rendszer architektúrája:' + Rendszer. getProperty ( 'os.arch' ) ) ;
}
}

A fenti kód leírása:





  • Először a rendszer valódi tulajdonosát vagy felhasználóját keresi meg a „ felhasználónév ' ingatlan a ' System.getProperty() ” módszerrel.
  • Ezután az ingatlan ' java.class.path ' átkerül a ' System.getProperty() ” metódussal lekérheti az aktuális osztály elérési útját a gyökérkönyvtárból.
  • Ezután a 'hamis tulajdonsága' itthon ' elmúlt,
  • A ' System.getProperty() ' metódus '' jelenik meg nulla ” jelzi, hogy az ingatlan nem létezik.
  • Ugyanilyen módon a Java Runtime Version és a rendszerarchitektúra lekérése a „ java.runtime.version ” és „ os.arch ”, ill.

A kimenet azt mutatja, hogy a rendszertulajdonságok szükséges értékei a „System.getProperty()” metódus segítségével lettek lekérve.



Mi az a System.getenv() metódus a Java nyelven?

A ' System.getenv() ” metódus a megadott környezeti változó megfelelő értékét adja vissza. A visszaadott értékek dinamikusak, és ahogyan a rendszer operációs rendszere vagy a felhasználó beállította az aktuális munkamenethez. A „System.getProperty()” metódushoz hasonlóan, ha a változó nem található vagy nem tartalmaz értéket, a „ nulla ” visszakapják.

Látogassa meg például az alábbi kódot:

osztály rootClass {
//Az illesztőprogram metódusának inicializálása
nyilvános statikus üres fő- ( Húr [ ] args ) {
Rendszer. ki . println ( 'Értékek visszakeresése System.getenv() módszerrel' ) ;

Húr ideiglenes elérési út = Rendszer. tenv ( 'TEMP' ) ;
Rendszer. ki . println ( 'Az ideiglenes fájlok elérési útja a következő: + ideiglenes elérési út ) ;

Húr operációs rendszer = Rendszer. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Rendszer. ki . println ( 'A processzorok száma rendszer a következőket tartalmazza: ' + operációs rendszer ) ;

Húr windowsDirectory = Rendszer. tenv ( 'szél' ) ;
Rendszer. ki . println ( 'A rendszer gyökérútvonalának megjelenítése -' + windowsDirectory ) ;
}
}

A fenti kódblokk magyarázata:

  • Először az osztály jön létre a következő néven: rootClass ' és a ' System.getenv() ' metódus az ideiglenes mappa elérési útját adja vissza a ' TEMP ” értékként.
  • Ezután a rendszer lekéri a processzorok számát és a rendszer Windows könyvtárát a „ NUMBER_OF_PROCESSORS ” és „ windir ” a „System.getenv()” metódusra, ill.

Az összeállítás után:

A kimenet megerősíti, hogy a szükséges környezeti változóértékek lekérésre kerültek.

A Java System.getProperty és a System.getenv közötti különbség

A System.getProperty() és System.getenv() metódusok közötti különbséget az alábbi táblázat írja le:

Term System.getProperty() System.getenv()
Célja A JVM-re jellemző rendszertulajdonságok lekérésére szolgál. Az operációs rendszer környezetére jellemző környezeti változók lekérésére szolgál.
Forrás A rendszertulajdonságok általában parancssori argumentumként vannak beállítva. A környezeti változók az operációs rendszer környezetben vannak beállítva.
Hozzáférés Lekérheti a rendszertulajdonságokat és a környezeti változókat is. Csak környezeti változókat tud lekérni, és speciális kulcsokat igényel a változóhoz.
Használat Általában a JVM-mel kapcsolatos információk lekérésére használják, például a Java verzióra. Általában környezetspecifikus konfigurációkhoz vagy érzékeny információkhoz való hozzáférésre használják.
Hordozhatóság Platformfüggetlen, és folyamatosan elérhető a különböző operációs rendszereken. A változók a különböző operációs rendszerek között változhatnak, és eltérő viselkedésűek lehetnek.

Következtetés

A ' System.getProperty() ” metódus hozzáférése van a Java-specifikus tulajdonságokhoz és a rendszerkonfigurációhoz. A ' System.getenv() ” hozzáfér az operációs rendszerben meghatározott környezeti változókhoz. Mindkettő alkalmas azonban a rendszerrel kapcsolatos információk visszaadására. Sőt, hasonló céljaik vannak a rendszerkörnyezetről szóló információk lekérésére, de különböző adatkészleteken működnek.