Pagkakaiba sa pagitan ng Java System.getProperty At System.getenv?

Pagkakaiba Sa Pagitan Ng Java System Getproperty At System Getenv



Ang ' System.getProperty() Kinukuha ng paraan ang mga partikular na katangian ng system na naaayon sa runtime ng Java o sa configuration ng system. Nag-aalok ito ng impormasyon tungkol sa kapaligiran ng Java at ang mga operating system para sa system kung saan ito isinasagawa. Sa kabilang banda, ang ' System.getenv() Ina-access ng paraan ang mga partikular na variable ng kapaligiran na tinukoy sa kapaligiran ng OS. Naglalaman ito ng dynamic na impormasyon tungkol sa system at ang kasalukuyang session ng user.

Ipinapaliwanag ng blog na ito ang pagkakaiba sa pagitan ng mga pamamaraan ng Java System.getProperty() At System.getenv().

Ano ang System.getProperty() Method sa Java?

Ang ' System.getProperty() Ibinabalik ng paraan ng ” ang value na nauugnay sa ibinigay na property ng system. Binubuo ito ng ' susi/halaga ” pares na format, dahil ang mga ito ay tinukoy ng system administrator o sa mga configuration file. Maaaring itakda ang ari-arian sa tulong ng ' -D ” bandila o kung hindi natagpuan ang ari-arian, ang “ wala ” ibinabalik. Ang default o kadalasang ginagamit na mga katangian ng System kasama ang kanilang paglalarawan ay inilalarawan dito link .







Ang ilan sa mga katangian ng System ay ginagamit sa snippet ng code sa ibaba:



Ang ilan sa mga katangian ng System ay ginagamit sa snippet ng code sa ibaba:



klase magulang {
//Pagsisimula ng paraan ng pagmamaneho
pampubliko static walang bisa pangunahing ( String [ ] args ) {
String UserName = Sistema. getProperty ( 'user.name' ) ;
Sistema. palabas . println ( 'Username gamit ang system property: ' + UserName ) ;

String classPath = Sistema. getProperty ( 'java.class.path' ) ;
Sistema. palabas . println ( 'Ang Kasalukuyang Landas ng Klase Mula sa Root Directory: ' + classPath ) ;

Sistema. palabas . println ( 'Maling Ari-arian ang Ginamit: ' + Sistema. getProperty ( 'bahay' ) ) ;

Sistema. palabas . println ( 'Ang Impormasyon sa Bersyon ng JRE: ' + Sistema. getProperty ( 'java.runtime.version' ) ) ;
Sistema. palabas . println ( 'Ang Arkitektura ng Kasalukuyang System OS: ' + Sistema. getProperty ( 'os.arch' ) ) ;
}
}

Paglalarawan ng code sa itaas:





  • Una, ang tunay na may-ari o gumagamit ng system ay kinukuha sa pamamagitan ng pagpasa sa ' user.name ' ari-arian sa ' System.getProperty() ” paraan.
  • Susunod, ang ari-arian ' java.class.path 'ay ipinasa sa' System.getProperty() ” paraan upang makuha ang landas ng kasalukuyang klase mula sa root directory.
  • Pagkatapos, ang maling pag-aari ng ' bahay ' ay tapos na,
  • Ang ' System.getProperty() 'Ang pamamaraan ay ipapakita' wala ” na nagpapahiwatig na ang ari-arian ay hindi umiiral.
  • Sa parehong paraan, ang Java Runtime Version at system architecture ay kinukuha sa pamamagitan ng pagpasa sa ' java.runtime.version 'at' os.arch ”, ayon sa pagkakabanggit.

Ipinapakita ng output na ang mga kinakailangang halaga para sa mga katangian ng system ay nakuha sa tulong ng pamamaraang 'System.getProperty()'.



Ano ang System.getenv() Method sa Java?

Ang ' System.getenv() Ang paraan ng ” ay nagbabalik ng katumbas na halaga para sa tinukoy na variable ng kapaligiran. Ang mga halagang ibinalik ay dynamic at dahil itinakda ang mga ito ng system operating system o ng user para sa kasalukuyang session. Tulad ng 'System.getProperty()' na paraan kung ang variable ay hindi nahanap o walang halaga, ang ' wala ” ibinabalik.

Halimbawa, bisitahin ang code sa ibaba:

klase rootClass {
//Pagsisimula ng paraan ng pagmamaneho
pampubliko static walang bisa pangunahing ( String [ ] args ) {
Sistema. palabas . println ( 'Pagkuha ng mga Halaga Gamit ang System.getenv() Method' ) ;

String pansamantalangPath = Sistema. tenv ( 'TEMP' ) ;
Sistema. palabas . println ( 'Ang Landas para sa Temporary Files Folder ay: ' + pansamantalangPath ) ;

String operatingSystem = Sistema. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Sistema. palabas . println ( 'Ang Bilang ng Mga Processor System ay Naglalaman ng: ' + operatingSystem ) ;

String windowsDirectory = Sistema. tenv ( 'windir' ) ;
Sistema. palabas . println ( 'Pagpapakita ng System Root Path - ' + windowsDirectory ) ;
}
}

Paliwanag ng block ng code sa itaas:

  • Una, nilikha ang klase na may pangalang ' rootClass ' at ang ' System.getenv() Ginagamit ang paraan upang ibalik ang landas ng pansamantalang folder sa pamamagitan ng pagpasa sa ' TEMP ” bilang isang halaga.
  • Susunod, ang bilang ng mga processor at ang direktoryo ng Windows para sa system ay kinukuha sa pamamagitan ng pagpasa ng ' NUMBER_OF_PROCESSORS 'at' windir ” sa pamamaraang “System.getenv()”, ayon sa pagkakabanggit.

Pagkatapos ng compilation:

Kinukumpirma ng output na ang mga kinakailangang value ng variable ng kapaligiran ay nakuha.

Pagkakaiba sa Pagitan ng Java System.getProperty At System.getenv

Ang pagkakaiba sa pagitan ng System.getProperty() at System.getenv() na mga pamamaraan ay inilarawan sa ibaba sa talahanayan:

Termino System.getProperty() System.getenv()
Layunin Ito ay ginagamit upang kunin ang mga katangian ng system na partikular sa JVM. Ito ay ginagamit upang kunin ang mga variable ng kapaligiran na partikular sa kapaligiran ng operating system.
Pinagmulan Ang mga katangian ng system ay karaniwang itinatakda bilang mga argumento ng command-line. Ang mga variable ng kapaligiran ay nakatakda sa kapaligiran ng OS.
Access Maaari nitong makuha ang parehong mga katangian ng system at mga variable ng kapaligiran. Maaari lamang itong kunin ang mga variable ng kapaligiran, at nangangailangan ito ng mga partikular na key para sa variable.
Paggamit Ito ay karaniwang ginagamit upang kunin ang impormasyon tungkol sa JVM, tulad ng bersyon ng Java. Ito ay karaniwang ginagamit upang ma-access ang mga configuration na partikular sa kapaligiran o sensitibong impormasyon.
Portability Ito ay platform-independent at maaaring ma-access nang tuluy-tuloy sa iba't ibang mga operating system. Ang mga variable ay maaaring mag-iba sa pagitan ng iba't ibang operating system at maaaring may iba't ibang mga pag-uugali.

Konklusyon

Ang ' System.getProperty() ” paraan ay may access sa Java-specific properties at system configuration. Ang ' System.getenv() ” ina-access ang mga variable ng kapaligiran na tinukoy sa operating system. Gayunpaman, ang dalawa ay angkop para sa pagbabalik ng impormasyong nauugnay sa system. Bukod dito, mayroon silang magkatulad na layunin para sa pagkuha ng impormasyon tungkol sa kapaligiran ng system, ngunit gumagana ang mga ito sa iba't ibang hanay ng data.