Forskjellen mellom Java System.getProperty og System.getenv?

Forskjellen Mellom Java System Getproperty Og System Getenv



« System.getProperty() ”-metoden henter de spesifikke systemegenskapene som tilsvarer Java-kjøretiden eller systemkonfigurasjonen. Den gir informasjon om Java-miljøet og operativsystemene for systemet som det kjøres på. På den annen side, ' System.getenv() ”-metoden får tilgang til de spesifikke miljøvariablene som er definert i OS-miljøet. Den inneholder dynamisk informasjon om systemet og gjeldende brukerøkt.

Denne bloggen forklarer forskjellen mellom Java System.getProperty()- og System.getenv()-metodene.

Hva er System.getProperty()-metoden i Java?

« System.getProperty() ”-metoden returnerer verdien knyttet til den angitte systemegenskapen. Den består av en ' nøkkel/verdi ” parformat, slik de er definert av systemadministratoren eller i konfigurasjonsfiler. Eiendommen kan settes ved hjelp av ' -D flagget eller hvis eiendommen ikke blir funnet, null ' blir returnert. Standard eller mest brukte systemegenskaper sammen med beskrivelsen er beskrevet i denne link .







Noen av systemegenskapene brukes i kodebiten nedenfor:



Noen av systemegenskapene brukes i kodebiten nedenfor:



klasse forelder {
//Initialiserer drivermetoden
offentlig statisk tomrom hoved- ( String [ ] args ) {
String brukernavn = System. getProperty ( 'bruker.navn' ) ;
System. ute . println ( 'Brukernavn som bruker systemegenskap: ' + brukernavn ) ;

String klassePath = System. getProperty ( 'java.class.path' ) ;
System. ute . println ( 'Den nåværende klassebanen fra rotkatalogen: ' + klassePath ) ;

System. ute . println ( 'Feil eiendom er brukt: ' + System. getProperty ( 'hjem' ) ) ;

System. ute . println ( 'JRE versjonsinformasjon: ' + System. getProperty ( 'java.runtime.version' ) ) ;
System. ute . println ( 'Arkitekturen til gjeldende systemoperativsystem: ' + System. getProperty ( 'os.arch' ) ) ;
}
}

Beskrivelse av koden ovenfor:





  • Først hentes den virkelige eieren eller brukeren av systemet ved å sende ' bruker.navn ' eiendom i ' System.getProperty() 'metoden.
  • Deretter eiendommen ' java.class.path ' sendes til ' System.getProperty() ” metode for å hente banen til gjeldende klasse fra rotkatalogen.
  • Deretter, den falske egenskapen til ' hjem ' er bestått,
  • « System.getProperty() ' metoden vil vise ' null ” som indikerer at eiendommen ikke eksisterer.
  • På samme måte hentes Java Runtime-versjonen og systemarkitekturen ved å sende ' java.runtime.version ' og ' os.arch ', henholdsvis.

Utdataene viser at de nødvendige verdiene for systemegenskaper er hentet ved hjelp av 'System.getProperty()'-metoden.



Hva er System.getenv()-metoden i Java?

« System.getenv() ”-metoden returnerer den tilsvarende verdien for den angitte miljøvariabelen. Verdiene som returneres er dynamiske og slik de er satt av systemoperativsystemet eller av brukeren for gjeldende økt. Som 'System.getProperty()'-metoden hvis variabelen ikke finnes eller ikke inneholder noen verdi, vil ' null ' blir returnert.

Gå for eksempel til koden nedenfor:

klasse rootClass {
//Initialiserer drivermetoden
offentlig statisk tomrom hoved- ( String [ ] args ) {
System. ute . println ( 'Henting av verdier ved hjelp av System.getenv()-metoden' ) ;

String midlertidig bane = System. tenv ( 'TEMP' ) ;
System. ute . println ( 'Mappen for midlertidige filer er:' + midlertidig bane ) ;

String operativsystem = System. tenv ( «NUMBER_OF_PROCESSORS» ) ;
System. ute . println ( 'Antall prosessorer Systemet inneholder: ' + operativsystem ) ;

String windowskatalog = System. tenv ( 'windir' ) ;
System. ute . println ( 'Viser systemrotbanen -' + windowskatalog ) ;
}
}

Forklaring av kodeblokken ovenfor:

  • Først opprettes klassen med navnet ' rootClass ' og ' System.getenv() '-metoden brukes til å returnere banen til den midlertidige mappen ved å sende ' TEMP ' som en verdi.
  • Deretter hentes antall prosessorer og Windows-katalogen for systemet ved å sende ' NUMBER_OF_PROCESSORS ' og ' windir ” til henholdsvis “System.getenv()”-metoden.

Etter kompileringen:

Utdata bekrefter at de nødvendige miljøvariabelverdiene er hentet.

Forskjellen mellom Java System.getProperty og System.getenv

Forskjellen mellom System.getProperty()- og System.getenv()-metodene er beskrevet nedenfor i tabellen:

Begrep System.getProperty() System.getenv()
Hensikt Den brukes til å hente systemegenskaper som er spesifikke for JVM. Den brukes til å hente miljøvariabler som er spesifikke for operativsystemmiljøet.
Kilde Systemegenskaper er vanligvis satt som kommandolinjeargumenter. Miljøvariabler settes i OS-miljøet.
Adgang Den kan hente både systemegenskaper og miljøvariabler. Den kan bare hente miljøvariabler, og den krever spesifikke nøkler for variabelen.
Bruk Det brukes ofte til å hente informasjon om JVM, for eksempel Java-versjonen. Det brukes ofte for å få tilgang til miljøspesifikke konfigurasjoner eller sensitiv informasjon.
Bærbarhet Den er plattformuavhengig og kan nås konsekvent på tvers av forskjellige operativsystemer. Variabler kan variere mellom ulike operativsystemer og kan ha ulik oppførsel.

Konklusjon

« System.getProperty() ”-metoden har tilgang til Java-spesifikke egenskaper og systemkonfigurasjon. « System.getenv() ” får tilgang til miljøvariabler som er definert i operativsystemet. Begge er imidlertid egnet for å returnere systemrelatert informasjon. Dessuten har de lignende formål for å hente informasjon om systemmiljøet, men de opererer på forskjellige sett med data.