Perbezaan Antara Java System.getProperty Dan System.getenv?

Perbezaan Antara Java System Getproperty Dan System Getenv



' System.getProperty() ” kaedah mendapatkan semula sifat sistem tertentu yang sepadan dengan masa jalan Java atau konfigurasi sistem. Ia menawarkan maklumat tentang persekitaran Java dan sistem pengendalian untuk sistem yang ia sedang dilaksanakan. Sebaliknya, ' System.getenv() ” kaedah mengakses pembolehubah persekitaran khusus yang ditakrifkan dalam persekitaran OS. Ia mengandungi maklumat dinamik tentang sistem dan sesi pengguna semasa.

Blog ini menerangkan perbezaan antara kaedah Java System.getProperty() Dan System.getenv().

Apakah Kaedah System.getProperty() dalam Java?

' System.getProperty() ” kaedah mengembalikan nilai yang dikaitkan dengan sifat sistem yang disediakan. Ia terdiri daripada ' kunci/nilai ” format pasangan, kerana ia ditakrifkan oleh pentadbir sistem atau dalam fail konfigurasi. Hartanah itu boleh ditetapkan dengan bantuan “ -D ' bendera atau jika harta itu tidak dijumpai, ' null ” dipulangkan. Sifat Sistem lalai atau kebanyakannya digunakan bersama dengan perihalannya diterangkan dalam ini pautan .







Beberapa sifat Sistem digunakan dalam coretan kod di bawah:



Beberapa sifat Sistem digunakan dalam coretan kod di bawah:



kelas ibu bapa {
//Memulakan kaedah pemacu
awam statik batal utama ( Tali [ ] args ) {
Tali Nama pengguna = Sistem. getProperty ( 'nama pengguna' ) ;
Sistem. keluar . println ( 'Nama pengguna menggunakan sifat sistem: ' + Nama pengguna ) ;

Tali classPath = Sistem. getProperty ( 'java.class.path' ) ;
Sistem. keluar . println ( 'Laluan Kelas Semasa Dari Direktori Root: ' + classPath ) ;

Sistem. keluar . println ( 'Harta Yang Salah Digunakan: ' + Sistem. getProperty ( 'rumah' ) ) ;

Sistem. keluar . println ( 'Maklumat Versi JRE: ' + Sistem. getProperty ( 'java.runtime.version' ) ) ;
Sistem. keluar . println ( 'Seni Bina OS Sistem Semasa: ' + Sistem. getProperty ( 'os.arch' ) ) ;
}
}

Penerangan kod di atas:





  • Pertama, pemilik atau pengguna sebenar sistem diambil dengan melepasi “ nama pengguna ” harta dalam “ System.getProperty() ” kaedah.
  • Seterusnya, harta ' java.class.path ” diserahkan kepada “ System.getProperty() ” kaedah untuk mendapatkan semula laluan kelas semasa daripada direktori akar.
  • Kemudian, harta palsu ' rumah 'diluluskan,
  • ' System.getProperty() ' kaedah akan memaparkan ' null ” menunjukkan bahawa harta itu tidak wujud.
  • Dengan cara yang sama, Versi Runtime Java dan seni bina sistem sedang diambil dengan menghantar “ java.runtime.version ” dan “ os.arch ”, masing-masing.

Output menunjukkan nilai yang diperlukan untuk sifat sistem telah diambil dengan bantuan kaedah 'System.getProperty()'.



Apakah Kaedah System.getenv() dalam Java?

' System.getenv() ” kaedah mengembalikan nilai yang sepadan untuk pembolehubah persekitaran yang ditentukan. Nilai yang dikembalikan adalah dinamik dan kerana ia ditetapkan oleh sistem pengendalian sistem atau oleh pengguna untuk sesi semasa. Seperti kaedah 'System.getProperty()' jika pembolehubah tidak dijumpai atau tidak mengandungi nilai, ' null ” dipulangkan.

Sebagai contoh, lawati kod di bawah:

kelas rootClass {
//Memulakan kaedah pemacu
awam statik batal utama ( Tali [ ] args ) {
Sistem. keluar . println ( 'Pendapatan Nilai Menggunakan Kaedah System.getenv()' ) ;

Tali temporaryPath = Sistem. tenv ( 'TEMP' ) ;
Sistem. keluar . println ( 'Laluan untuk Folder Fail Sementara ialah: ' + temporaryPath ) ;

Tali sistem operasi = Sistem. tenv ( 'NUMBER_OF_PROCESSORS' ) ;
Sistem. keluar . println ( 'Bilangan Sistem Pemproses Mengandungi: ' + sistem operasi ) ;

Tali windowsDirectory = Sistem. tenv ( 'windir' ) ;
Sistem. keluar . println ( 'Memaparkan Laluan Akar Sistem -' + windowsDirectory ) ;
}
}

Penjelasan blok kod di atas:

  • Pertama, kelas dicipta dengan nama ' rootClass ' dan juga ' System.getenv() Kaedah ' digunakan untuk mengembalikan laluan folder sementara dengan menghantar ' TEMP ” sebagai nilai.
  • Seterusnya, bilangan pemproses dan direktori Windows untuk sistem diambil dengan menghantar “ NUMBER_OF_PROCESSORS ” dan “ windir ” kepada kaedah “System.getenv()”, masing-masing.

Selepas kompilasi:

Output mengesahkan bahawa nilai pembolehubah persekitaran yang diperlukan diambil semula.

Perbezaan Antara Java System.getProperty Dan System.getenv

Perbezaan antara kaedah System.getProperty() dan System.getenv() diterangkan di bawah dalam jadual:

Penggal System.getProperty() System.getenv()
Tujuan Ia digunakan untuk mendapatkan semula sifat sistem khusus untuk JVM. Ia digunakan untuk mendapatkan semula pembolehubah persekitaran khusus untuk persekitaran sistem pengendalian.
Sumber Sifat sistem biasanya ditetapkan sebagai argumen baris perintah. Pembolehubah persekitaran ditetapkan dalam persekitaran OS.
Akses Ia boleh mendapatkan kedua-dua sifat sistem dan pembolehubah persekitaran. Ia hanya boleh mendapatkan semula pembolehubah persekitaran, dan ia memerlukan kunci khusus untuk pembolehubah tersebut.
Penggunaan Ia biasanya digunakan untuk mendapatkan maklumat tentang JVM, seperti versi Java. Ia biasanya digunakan untuk mengakses konfigurasi khusus persekitaran atau maklumat sensitif.
Mudah alih Ia bebas platform dan boleh diakses secara konsisten merentasi sistem pengendalian yang berbeza. Pembolehubah boleh berbeza antara sistem pengendalian yang berbeza dan mungkin mempunyai gelagat yang berbeza.

Kesimpulan

' System.getProperty() ” kaedah mempunyai akses kepada sifat khusus Java dan konfigurasi sistem. ' System.getenv() ” mengakses pembolehubah persekitaran yang ditakrifkan dalam sistem pengendalian. Walau bagaimanapun, kedua-duanya sesuai untuk mengembalikan maklumat berkaitan sistem. Selain itu, mereka mempunyai tujuan yang sama untuk mendapatkan maklumat tentang persekitaran sistem, tetapi mereka beroperasi pada set data yang berbeza.