Atšķirība starp Java System.getProperty un System.getenv?

Atskiriba Starp Java System Getproperty Un System Getenv



' System.getProperty() ” metode izgūst konkrētos sistēmas rekvizītus, kas atbilst Java izpildlaikam vai sistēmas konfigurācijai. Tā piedāvā informāciju par Java vidi un operētājsistēmām sistēmai, kurā tā tiek izpildīta. No otras puses, “ System.getenv() ” metode piekļūst konkrētiem vides mainīgajiem, kas definēti OS vidē. Tajā ir dinamiska informācija par sistēmu un pašreizējo lietotāja sesiju.

Šajā emuārā ir izskaidrota atšķirība starp Java System.getProperty() un System.getenv() metodēm.

Kas ir System.getProperty() metode Java?

' System.getProperty() ” metode atgriež vērtību, kas saistīta ar nodrošināto sistēmas rekvizītu. Tas sastāv no ' atslēga/vērtība ” pāra formātā, kā tos noteicis sistēmas administrators vai konfigurācijas failos. Īpašumu var iestatīt, izmantojot ' -D ' karogs vai, ja īpašums nav atrasts, ' null ” tiek atgriezta. Šeit ir aprakstīti noklusējuma vai galvenokārt izmantotie sistēmas rekvizīti, kā arī to apraksts saite .







Daži sistēmas rekvizīti tiek izmantoti tālāk esošajā koda fragmentā.



Daži sistēmas rekvizīti tiek izmantoti tālāk esošajā koda fragmentā.



klasē vecāks {
//Draivera metodes inicializācija
publiski statisks nederīgs galvenais ( Stīga [ ] args ) {
Stīga lietotājvārds = Sistēma. getProperty ( 'lietotājs.vārds' ) ;
Sistēma. ārā . println ( 'Lietotājvārds, izmantojot sistēmas rekvizītu:' + lietotājvārds ) ;

Stīga klases ceļš = Sistēma. getProperty ( 'java.class.path' ) ;
Sistēma. ārā . println ( 'Pašreizējais klases ceļš no saknes direktorija:' + klases ceļš ) ;

Sistēma. ārā . println ( 'Tiek izmantots nepareizs īpašums:' + Sistēma. getProperty ( 'mājas' ) ) ;

Sistēma. ārā . println ( 'JRE versijas informācija:' + Sistēma. getProperty ( 'java.runtime.version' ) ) ;
Sistēma. ārā . println ( 'Pašreizējās sistēmas OS arhitektūra:' + Sistēma. getProperty ( 'os.arch' ) ) ;
}
}

Iepriekš minētā koda apraksts:





  • Pirmkārt, sistēmas patiesais īpašnieks vai lietotājs tiek izgūts, nododot “ lietotājvārds ' īpašums ' System.getProperty() ” metode.
  • Tālāk īpašums ' java.class.path ” tiek nodots System.getProperty() ” metodi, lai izgūtu pašreizējās klases ceļu no saknes direktorija.
  • Tad nepatiesais īpašums ' mājas ” ir izturēts,
  • ' System.getProperty() ' metode parādīs ' null ” norādot, ka īpašums neeksistē.
  • Tādā pašā veidā Java Runtime versija un sistēmas arhitektūra tiek izgūta, nododot ' java.runtime.version ' un ' os.arch ”, attiecīgi.

Izvade parāda, ka sistēmas rekvizītu vajadzīgās vērtības ir izgūtas, izmantojot metodi “System.getProperty()”.



Kas ir System.getenv() metode Java?

' System.getenv() ” metode atgriež atbilstošo vērtību norādītajam vides mainīgajam. Atgrieztās vērtības ir dinamiskas, un tās ir iestatījusi sistēmas operētājsistēma vai lietotājs pašreizējai sesijai. Tāpat kā metode “System.getProperty()”, ja mainīgais nav atrasts vai tajā nav vērtības, “ null ” tiek atgriezta.

Piemēram, apmeklējiet tālāk norādīto kodu:

klasē saknes klase {
//Draivera metodes inicializācija
publiski statisks nederīgs galvenais ( Stīga [ ] args ) {
Sistēma. ārā . println ( 'Vērtību izgūšana, izmantojot System.getenv() metodi' ) ;

Stīga pagaiduPath = Sistēma. tenv ( 'TEMP' ) ;
Sistēma. ārā . println ( Pagaidu failu mapes ceļš ir: + pagaiduPath ) ;

Stīga operētājsistēma = Sistēma. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Sistēma. ārā . println ( 'Procesoru skaits sistēma satur: ' + operētājsistēma ) ;

Stīga windows Katalogs = Sistēma. tenv ( 'vēja' ) ;
Sistēma. ārā . println ( 'Sistēmas saknes ceļa parādīšana -' + windows Katalogs ) ;
}
}

Iepriekš minētā koda bloka skaidrojums:

  • Pirmkārt, klase tiek izveidota ar nosaukumu ' saknes klase ” un „ System.getenv() ' metode tiek izmantota, lai atgrieztu pagaidu mapes ceļu, nododot ' TEMP ” kā vērtību.
  • Pēc tam tiek izgūts procesoru skaits un sistēmas Windows direktorijs, nododot “ NUMBER_OF_PROCESSORS ' un ' windir ” uz metodi “System.getenv()”.

Pēc kompilācijas:

Izvade apstiprina, ka ir izgūtas nepieciešamās vides mainīgā vērtības.

Atšķirība starp Java System.getProperty un System.getenv

Atšķirības starp System.getProperty() un System.getenv() metodēm ir aprakstītas zemāk tabulā:

Jēdziens System.getProperty() System.getenv()
Mērķis To izmanto, lai izgūtu JVM specifiskos sistēmas rekvizītus. To izmanto, lai izgūtu vides mainīgos, kas raksturīgi operētājsistēmas videi.
Avots Sistēmas rekvizīti parasti tiek iestatīti kā komandrindas argumenti. Vides mainīgie tiek iestatīti OS vidē.
Piekļuve Tas var izgūt gan sistēmas rekvizītus, gan vides mainīgos. Tas var izgūt tikai vides mainīgos, un tam ir nepieciešamas īpašas mainīgā atslēgas.
Lietošana To parasti izmanto, lai izgūtu informāciju par JVM, piemēram, Java versiju. To parasti izmanto, lai piekļūtu videi specifiskām konfigurācijām vai sensitīvai informācijai.
Pārnesamība Tas ir neatkarīgs no platformas, un tam var pastāvīgi piekļūt dažādās operētājsistēmās. Dažādās operētājsistēmās mainīgie var atšķirties, un tiem var būt atšķirīga darbība.

Secinājums

' System.getProperty() ” metodei ir piekļuve Java specifiskiem rekvizītiem un sistēmas konfigurācijai. ' System.getenv() ” piekļūst vides mainīgajiem, kas ir definēti operētājsistēmā. Tomēr abi ir piemēroti ar sistēmu saistītas informācijas atgriešanai. Turklāt tiem ir līdzīgi mērķi informācijas izgūšanai par sistēmas vidi, taču tie darbojas ar dažādām datu kopām.