Razlika između Java System.getProperty i System.getenv?

Razlika Izmedu Java System Getproperty I System Getenv



' System.getProperty() ” metoda dohvaća specifična svojstva sustava koja odgovaraju Java runtimeu ili konfiguraciji sustava. Nudi informacije o Java okruženju i operativnim sustavima za sustav na kojem se izvršava. S druge strane, „ System.getenv() ” metoda pristupa specifičnim varijablama okruženja definiranim u OS okruženju. Sadrži dinamičke informacije o sustavu i trenutnoj korisničkoj sesiji.

Ovaj blog objašnjava razliku između Java System.getProperty() i System.getenv() metoda.

Što je System.getProperty() metoda u Javi?

' System.getProperty() ” metoda vraća vrijednost pridruženu navedenom svojstvu sustava. Sastoji se od “ ključ/vrijednost ” par formata, kako ih je definirao administrator sustava ili u konfiguracijskim datotekama. Svojstvo se može postaviti uz pomoć ' -D ' ili ako svojstvo nije pronađeno, ' ništavan ” se vraća. Ovdje su opisana zadana ili uglavnom korištena svojstva sustava zajedno s njihovim opisom veza .







Neka od svojstava sustava koriste se u donjem isječku koda:



Neka od svojstava sustava koriste se u donjem isječku koda:



razreda roditelj {
//Inicijalizacija metode upravljačkog programa
javnost statički poništiti glavni ( Niz [ ] args ) {
Niz Korisničko ime = Sustav. getProperty ( 'Korisničko ime' ) ;
Sustav. van . println ( 'Korisničko ime koje koristi svojstvo sustava: ' + Korisničko ime ) ;

Niz classPath = Sustav. getProperty ( 'java.class.path' ) ;
Sustav. van . println ( 'Trenutni put klase iz korijenskog direktorija: ' + classPath ) ;

Sustav. van . println ( 'Korišteno je pogrešno svojstvo: ' + Sustav. getProperty ( 'Dom' ) ) ;

Sustav. van . println ( 'Informacije o JRE verziji: ' + Sustav. getProperty ( 'java.runtime.version' ) ) ;
Sustav. van . println ( 'Arhitektura trenutnog OS sustava: ' + Sustav. getProperty ( 'os.arch' ) ) ;
}
}

Opis gornjeg koda:





  • Prvo, pravi vlasnik ili korisnik sustava se dohvaća prosljeđivanjem ' Korisničko ime ' nekretnina u ' System.getProperty() ” metoda.
  • Dalje, svojstvo ' java.class.path ' prosljeđuje se u ' System.getProperty() ” metoda za dohvaćanje staze trenutne klase iz korijenskog direktorija.
  • Zatim, lažno svojstvo ' Dom ” je prošao,
  • ' System.getProperty() ' metoda će prikazati ' ništavan ” što znači da nekretnina ne postoji.
  • Na isti način, Java Runtime verzija i arhitektura sustava se dohvaćaju prosljeđivanjem ' java.vrijeme.verzije ' i ' os.arh ”, odnosno.

Izlaz pokazuje da su potrebne vrijednosti za svojstva sustava dohvaćene uz pomoć metode “System.getProperty()”.



Što je System.getenv() metoda u Javi?

' System.getenv() ” metoda vraća odgovarajuću vrijednost za navedenu varijablu okoline. Vraćene vrijednosti su dinamičke i postavlja ih operativni sustav sustava ili korisnik za trenutnu sesiju. Poput metode “System.getProperty()” ako varijabla nije pronađena ili ne sadrži nikakvu vrijednost, “ ništavan ” se vraća.

Na primjer, posjetite donji kod:

razreda rootClass {
//Inicijalizacija metode upravljačkog programa
javnost statički poništiti glavni ( Niz [ ] args ) {
Sustav. van . println ( 'Dohvaćanje vrijednosti korištenjem metode System.getenv()' ) ;

Niz temporaryPath = Sustav. tenv ( 'TEMP' ) ;
Sustav. van . println ( 'Put za mapu privremenih datoteka je: ' + temporaryPath ) ;

Niz operacijski sustav = Sustav. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Sustav. van . println ( 'Broj procesora Sustav sadrži: ' + operacijski sustav ) ;

Niz windowsDirectory = Sustav. tenv ( 'windir' ) ;
Sustav. van . println ( 'Prikaz korijenske staze sustava - ' + windowsDirectory ) ;
}
}

Objašnjenje gornjeg bloka koda:

  • Prvo se kreira klasa s imenom ' rootClass ' i ' System.getenv() ” koristi se za vraćanje staze privremene mape prosljeđivanjem „ TEMP ” kao vrijednost.
  • Zatim se broj procesora i Windows direktorij za sustav dohvaćaju prosljeđivanjem “ BROJ_PROCESORA ' i ' windir ” na metodu “System.getenv()”.

Nakon kompilacije:

Izlaz potvrđuje da su tražene vrijednosti varijable okruženja dohvaćene.

Razlika između Java System.getProperty i System.getenv

Razlika između metoda System.getProperty() i System.getenv() opisana je u tablici u nastavku:

Termin System.getProperty() System.getenv()
Svrha Koristi se za dohvaćanje svojstava sustava specifičnih za JVM. Koristi se za dohvaćanje varijabli okruženja specifičnih za okruženje operativnog sustava.
Izvor Svojstva sustava obično se postavljaju kao argumenti naredbenog retka. Varijable okoline postavljaju se u OS okolini.
Pristup Može dohvatiti i svojstva sustava i varijable okoline. Može dohvatiti samo varijable okruženja i zahtijeva specifične ključeve za varijablu.
Korištenje Obično se koristi za dohvaćanje informacija o JVM-u, kao što je Java verzija. Obično se koristi za pristup konfiguracijama specifičnim za okruženje ili osjetljivim informacijama.
Prenosivost Neovisan je o platformi i može mu se dosljedno pristupati u različitim operativnim sustavima. Varijable se mogu razlikovati između različitih operativnih sustava i mogu imati različita ponašanja.

Zaključak

' System.getProperty() ” ima pristup svojstvima specifičnim za Javu i konfiguraciji sustava. ' System.getenv() ” pristupa varijablama okoline koje su definirane u operativnom sustavu. Međutim, oba su prikladna za vraćanje informacija povezanih sa sustavom. Štoviše, imaju slične svrhe za dohvaćanje informacija o okruženju sustava, ali rade na različitim skupovima podataka.