Forskellen mellem Java System.getProperty og System.getenv?

Forskellen Mellem Java System Getproperty Og System Getenv



Det ' System.getProperty() ”-metoden henter de specifikke systemegenskaber, der svarer til Java-runtiden eller systemkonfigurationen. Den giver information om Java-miljøet og operativsystemerne for det system, som det køres på. På den anden side er ' System.getenv() ”-metoden får adgang til de specifikke miljøvariabler, der er defineret i OS-miljøet. Den indeholder dynamisk information om systemet og den aktuelle brugersession.

Denne blog forklarer forskellen mellem Java System.getProperty() og System.getenv() metoder.

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

Det ' System.getProperty() ” metode returnerer den værdi, der er knyttet til den angivne systemegenskab. Den består af en ' nøgle/værdi ” parformat, som de er defineret af systemadministratoren eller i konfigurationsfiler. Ejendommen kan indstilles ved hjælp af ' -D ' flag eller hvis ejendommen ikke findes, ' nul ” bliver returneret. Standard eller mest anvendte systemegenskaber sammen med deres beskrivelse er beskrevet i dette link .







Nogle af systemegenskaberne bruges i nedenstående kodestykke:



Nogle af systemegenskaberne bruges i nedenstående kodestykke:



klasse forælder {
//Initialisering af drivermetoden
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
Snor brugernavn = System. getProperty ( 'bruger.navn' ) ;
System. ud . println ( 'Brugernavn ved hjælp af systemegenskab:' + brugernavn ) ;

Snor klassesti = System. getProperty ( 'java.class.path' ) ;
System. ud . println ( 'Den aktuelle klassesti fra rodkataloget: ' + klassesti ) ;

System. ud . println ( 'Forkert egenskab er brugt:' + System. getProperty ( 'hjem' ) ) ;

System. ud . println ( 'JRE-versionsoplysningerne: ' + System. getProperty ( 'java.runtime.version' ) ) ;
System. ud . println ( 'Arkitekturen af ​​det nuværende system OS:' + System. getProperty ( 'os.arch' ) ) ;
}
}

Beskrivelse af ovenstående kode:





  • Først hentes den rigtige ejer eller bruger af systemet ved at sende ' bruger.navn ' ejendom i ' System.getProperty() ” metode.
  • Dernæst ejendommen ' java.class.path ' videregives til ' System.getProperty() ” metode til at hente stien til den aktuelle klasse fra rodmappen.
  • Derefter, den falske egenskab af ' hjem ” er bestået,
  • Det ' System.getProperty() ' metoden vil vise ' nul ” hvilket indikerer, at ejendommen ikke eksisterer.
  • På samme måde hentes Java Runtime-versionen og systemarkitekturen ved at sende ' java.runtime.version ' og ' os.arch ', henholdsvis.

Outputtet viser, at de nødvendige værdier for systemegenskaber er blevet hentet ved hjælp af 'System.getProperty()'-metoden.



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

Det ' System.getenv() ” metode returnerer den tilsvarende værdi for den angivne miljøvariabel. De returnerede værdier er dynamiske og som de er indstillet af systemoperativsystemet eller af brugeren for den aktuelle session. Ligesom 'System.getProperty()'-metoden, hvis variablen ikke findes eller ikke indeholder nogen værdi, vil ' nul ” bliver returneret.

Besøg for eksempel nedenstående kode:

klasse rootClass {
//Initialisering af drivermetoden
offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
System. ud . println ( 'Hentning af værdier ved hjælp af System.getenv()-metoden' ) ;

Snor midlertidig sti = System. tenv ( 'MIDLERTIDIG' ) ;
System. ud . println ( 'Mappen Sti til midlertidige filer er: ' + midlertidig sti ) ;

Snor operativ system = System. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
System. ud . println ( 'Antallet af processorer Systemet indeholder: ' + operativ system ) ;

Snor windowsDirectory = System. tenv ( 'windir' ) ;
System. ud . println ( 'Visning af systemrodstien -' + windowsDirectory ) ;
}
}

Forklaring af ovenstående kodeblok:

  • Først oprettes klassen med navnet ' rootClass ' og ' System.getenv() metoden bruges til at returnere stien til den midlertidige mappe ved at sende ' MIDLERTIDIG ” som en værdi.
  • Derefter hentes antallet af processorer og Windows-biblioteket til systemet ved at sende ' NUMBER_OF_PROCESSORS ' og ' windir ” til henholdsvis “System.getenv()”-metoden.

Efter kompileringen:

Outputtet bekræfter, at de nødvendige miljøvariableværdier er hentet.

Forskellen mellem Java System.getProperty og System.getenv

Forskellen mellem System.getProperty() og System.getenv() metoder er beskrevet nedenfor i tabellen:

Semester System.getProperty() System.getenv()
Formål Det bruges til at hente systemegenskaber, der er specifikke for JVM. Det bruges til at hente miljøvariabler, der er specifikke for operativsystemmiljøet.
Kilde Systemegenskaber er typisk angivet som kommandolinjeargumenter. Miljøvariabler indstilles i OS-miljøet.
Adgang Det kan hente både systemegenskaber og miljøvariabler. Det kan kun hente miljøvariabler, og det kræver specifikke nøgler til variablen.
Brug Det bruges almindeligvis til at hente information om JVM, såsom Java-versionen. Det bruges almindeligvis til at få adgang til miljøspecifikke konfigurationer eller følsomme oplysninger.
Bærbarhed Det er platformsuafhængigt og kan tilgås konsekvent på tværs af forskellige operativsystemer. Variabler kan variere mellem forskellige operativsystemer og kan have forskellig adfærd.

Konklusion

Det ' System.getProperty() ”-metoden har adgang til Java-specifikke egenskaber og systemkonfiguration. Det ' System.getenv() ” får adgang til miljøvariabler, der er defineret i operativsystemet. Begge er dog velegnede til at returnere systemrelaterede oplysninger. Desuden har de lignende formål med at hente information om systemmiljøet, men de opererer på forskellige datasæt.