Rozdíl mezi Java System.getProperty a System.getenv?

Rozdil Mezi Java System Getproperty A System Getenv



' System.getProperty() ” metoda načte specifické vlastnosti systému odpovídající běhovému prostředí Java nebo konfiguraci systému. Nabízí informace o prostředí Java a operačních systémech pro systém, na kterém se spouští. Na druhou stranu, „ System.getenv() ” přistupuje ke specifickým proměnným prostředí definovaným v prostředí OS. Obsahuje dynamické informace o systému a aktuální uživatelské relaci.

Tento blog vysvětluje rozdíl mezi metodami Java System.getProperty() a System.getenv().

Co je metoda System.getProperty() v Javě?

' System.getProperty() ” vrací hodnotu spojenou se zadanou systémovou vlastností. Skládá se z „ klíč/hodnota ” párový formát, jak jsou definovány správcem systému nebo v konfiguračních souborech. Vlastnost lze nastavit pomocí „ -D příznak ” nebo pokud vlastnost není nalezena, znak “ nula “ se vrátí. Zde jsou popsány výchozí nebo nejčastěji používané vlastnosti systému spolu s jejich popisem odkaz .







Některé z vlastností systému jsou použity v níže uvedeném úryvku kódu:



Některé z vlastností systému jsou použity v níže uvedeném úryvku kódu:



třída rodič {
//Inicializace metody ovladače
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Tětiva uživatelské jméno = Systém. getProperty ( 'user.name' ) ;
Systém. ven . println ( 'Uživatelské jméno pomocí systémové vlastnosti: ' + uživatelské jméno ) ;

Tětiva classPath = Systém. getProperty ( 'java.class.path' ) ;
Systém. ven . println ( 'Aktuální cesta třídy z kořenového adresáře:' + classPath ) ;

Systém. ven . println ( 'Je použit nesprávný majetek:' + Systém. getProperty ( 'Domov' ) ) ;

Systém. ven . println ( 'Informace o verzi JRE: ' + Systém. getProperty ( 'java.runtime.version' ) ) ;
Systém. ven . println ( 'Architektura současného OS:' + Systém. getProperty ( 'os.arch' ) ) ;
}
}

Popis výše uvedeného kódu:





  • Nejprve je získán skutečný vlastník nebo uživatel systému předáním „ uživatelské.jméno ” nemovitost v “ System.getProperty() “ metoda.
  • Dále vlastnost „ Java.class.path “ je předán do “ System.getProperty() ” metoda k načtení cesty aktuální třídy z kořenového adresáře.
  • Pak falešná vlastnost „ Domov “ je předán,
  • ' System.getProperty() “ metoda zobrazí “ nula “, což znamená, že vlastnost neexistuje.
  • Stejným způsobem se verze Java Runtime a architektura systému získávají předáním „ java.runtime.version ' a ' os.arch “, resp.

Výstup ukazuje, že požadované hodnoty vlastností systému byly získány pomocí metody “System.getProperty()”.



Co je metoda System.getenv() v Javě?

' System.getenv() ” metoda vrací odpovídající hodnotu pro zadanou proměnnou prostředí. Vrácené hodnoty jsou dynamické a tak, jak jsou nastaveny operačním systémem systému nebo uživatelem pro aktuální relaci. Stejně jako metoda „System.getProperty()“, pokud proměnná není nalezena nebo neobsahuje žádnou hodnotu, „ nula “ se vrátí.

Navštivte například níže uvedený kód:

třída rootClass {
//Inicializace metody ovladače
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Systém. ven . println ( 'Načítání hodnot pomocí metody System.getenv()' ) ;

Tětiva dočasná cesta = Systém. tenv ( 'TEMP' ) ;
Systém. ven . println ( 'Cesta ke složce dočasných souborů je: ' + dočasná cesta ) ;

Tětiva operační systém = Systém. tenv ( „NUMBER_OF_PROCESSORS“ ) ;
Systém. ven . println ( 'Počet procesorů, které systém obsahuje:' + operační systém ) ;

Tětiva Windows Directory = Systém. tenv ( 'windir' ) ;
Systém. ven . println ( 'Zobrazení systémové kořenové cesty -' + Windows Directory ) ;
}
}

Vysvětlení výše uvedeného bloku kódu:

  • Nejprve se vytvoří třída s názvem „ rootClass “ a „ System.getenv() ” metoda se používá k vrácení cesty k dočasné složce předáním “ TEPL “ jako hodnotu.
  • Dále je načten počet procesorů a adresář Windows pro systém předáním „ NUMBER_OF_PROCESSORS ' a ' windir ” na metodu “System.getenv()”.

Po kompilaci:

Výstup potvrzuje, že byly načteny požadované hodnoty proměnných prostředí.

Rozdíl mezi Java System.getProperty a System.getenv

Rozdíl mezi metodami System.getProperty() a System.getenv() je popsán níže v tabulce:

Období System.getProperty() System.getenv()
Účel Používá se k načtení vlastností systému specifických pro JVM. Používá se k načtení proměnných prostředí specifických pro prostředí operačního systému.
Zdroj Vlastnosti systému se obvykle nastavují jako argumenty příkazového řádku. Proměnné prostředí se nastavují v prostředí OS.
Přístup Může načíst jak systémové vlastnosti, tak proměnné prostředí. Může načíst pouze proměnné prostředí a vyžaduje specifické klíče pro proměnnou.
Používání Běžně se používá k získávání informací o JVM, jako je verze Java. Běžně se používá pro přístup ke konfiguracím specifickým pro prostředí nebo citlivým informacím.
Přenosnost Je nezávislý na platformě a lze k němu přistupovat konzistentně napříč různými operačními systémy. Proměnné se mohou lišit mezi různými operačními systémy a mohou mít různé chování.

Závěr

' System.getProperty() ” má přístup ke specifickým vlastnostem jazyka Java a konfiguraci systému. ' System.getenv() ” přistupuje k proměnným prostředí, které jsou definovány v operačním systému. Oba jsou však vhodné pro vracení informací souvisejících se systémem. Kromě toho mají podobné účely pro získávání informací o systémovém prostředí, ale pracují s různými sadami dat.