Diferența dintre Java System.getProperty și System.getenv?

Diferenta Dintre Java System Getproperty Si System Getenv



System.getProperty() ” metoda preia proprietățile specifice sistemului corespunzătoare timpului de execuție Java sau configurației sistemului. Oferă informații despre mediul Java și sistemele de operare pentru sistemul pe care este executat. Pe de altă parte, „ System.getenv() ” accesează variabilele de mediu specifice definite în mediul OS. Conține informații dinamice despre sistem și sesiunea curentă a utilizatorului.

Acest blog explică diferența dintre metodele Java System.getProperty() și System.getenv().

Ce este metoda System.getProperty() în Java?

System.getProperty() ” returnează valoarea asociată proprietății de sistem furnizate. Este format dintr-un „ valoare cheie ” format pereche, așa cum sunt definite de administratorul de sistem sau în fișierele de configurare. Proprietatea poate fi stabilită cu ajutorul „ -D ” sau în cazul în care proprietatea nu este găsită, „ nul ” este returnat. Proprietățile implicite sau cele mai utilizate ale sistemului, împreună cu descrierea lor, sunt descrise aici legătură .







Unele dintre proprietățile sistemului sunt utilizate în fragmentul de cod de mai jos:



Unele dintre proprietățile sistemului sunt utilizate în fragmentul de cod de mai jos:



clasă mamă {
//Inițializarea metodei driverului
public static gol principal ( Şir [ ] argumente ) {
Şir nume de utilizator = Sistem. getProperty ( 'nume de utilizator' ) ;
Sistem. afară . println ( 'Nume de utilizator folosind proprietatea sistemului: ' + nume de utilizator ) ;

Şir classPath = Sistem. getProperty ( „java.class.path” ) ;
Sistem. afară . println ( „Calea curentă a clasei din directorul rădăcină: ” + classPath ) ;

Sistem. afară . println ( „Se folosește o proprietate greșită:” + Sistem. getProperty ( 'Acasă' ) ) ;

Sistem. afară . println ( „Informații despre versiunea JRE:” + Sistem. getProperty ( „java.runtime.version” ) ) ;
Sistem. afară . println ( „Arhitectura sistemului actual de operare:” + Sistem. getProperty ( „os.arch” ) ) ;
}
}

Descrierea codului de mai sus:





  • În primul rând, proprietarul sau utilizatorul real al sistemului este preluat prin trecerea „ nume de utilizator ” proprietate din ” System.getProperty() ” metoda.
  • În continuare, proprietatea „ java.class.path ' este trecut la ' System.getProperty() ” pentru a prelua calea clasei curente din directorul rădăcină.
  • Apoi, proprietatea falsă a lui „ Acasă ' a trecut,
  • System.getProperty() „metoda va afișa „ nul ” indicând că proprietatea nu există.
  • În același mod, versiunea Java Runtime și arhitectura sistemului sunt preluate prin trecerea „ java.runtime.version ' și ' os.arh ”, respectiv.

Ieșirea arată că valorile necesare pentru proprietățile sistemului au fost preluate cu ajutorul metodei „System.getProperty()”.



Ce este metoda System.getenv() în Java?

System.getenv() ” returnează valoarea corespunzătoare pentru variabila de mediu specificată. Valorile returnate sunt dinamice și așa cum sunt stabilite de sistemul de operare al sistemului sau de utilizator pentru sesiunea curentă. La fel ca metoda „System.getProperty()” dacă variabila nu este găsită sau nu conține nicio valoare, „ nul ” este returnat.

De exemplu, accesați codul de mai jos:

clasă rootClass {
//Inițializarea metodei driverului
public static gol principal ( Şir [ ] argumente ) {
Sistem. afară . println ( „Preluarea valorilor utilizând metoda System.getenv()” ) ;

Şir temporaryPath = Sistem. tenv ( „TEMP” ) ;
Sistem. afară . println ( 'Calea pentru dosarul cu fișiere temporare este: ' + temporaryPath ) ;

Şir sistem de operare = Sistem. tenv ( „NUMBER_OF_PROCESSORS” ) ;
Sistem. afară . println ( „Sistemul numărul de procesoare conține: ” + sistem de operare ) ;

Şir windowsDirectory = Sistem. tenv ( 'windir' ) ;
Sistem. afară . println ( 'Afișarea căii rădăcină a sistemului - ' + windowsDirectory ) ;
}
}

Explicația blocului de cod de mai sus:

  • În primul rând, clasa este creată cu numele „ rootClass ' si ' System.getenv() ” este folosită pentru a returna calea folderului temporar prin trecerea „ TEMP ” ca valoare.
  • Apoi, numărul de procesoare și directorul Windows pentru sistem este preluat prin trecerea „ NUMBER_OF_PROCESORI ' și ' windir ” la metoda „System.getenv()”, respectiv.

După compilare:

Ieșirea confirmă că sunt preluate valorile variabilelor de mediu necesare.

Diferența dintre Java System.getProperty și System.getenv

Diferența dintre metodele System.getProperty() și System.getenv() este descrisă mai jos în tabel:

Termen System.getProperty() System.getenv()
Scop Este folosit pentru a prelua proprietățile sistemului specifice JVM-ului. Este folosit pentru a prelua variabilele de mediu specifice mediului de sistem de operare.
Sursă Proprietățile sistemului sunt de obicei setate ca argumente de linie de comandă. Variabilele de mediu sunt setate în mediul OS.
Acces Poate prelua atât proprietățile sistemului, cât și variabilele de mediu. Poate prelua doar variabile de mediu și necesită chei specifice pentru variabilă.
Utilizare Este utilizat în mod obișnuit pentru a prelua informații despre JVM, cum ar fi versiunea Java. Este folosit în mod obișnuit pentru a accesa configurații specifice mediului sau informații sensibile.
Portabilitate Este independent de platformă și poate fi accesat în mod constant pe diferite sisteme de operare. Variabilele pot varia între sistemele de operare diferite și pot avea comportamente diferite.

Concluzie

System.getProperty() ” are acces la proprietăți specifice Java și la configurația sistemului. „ System.getenv() ” accesează variabilele de mediu care sunt definite în sistemul de operare. Cu toate acestea, ambele sunt potrivite pentru returnarea informațiilor legate de sistem. Mai mult, au scopuri similare pentru a prelua informații despre mediul de sistem, dar funcționează pe seturi diferite de date.