Properti sistem Java dan variabel lingkungan


Jawaban:


148

Saya pikir perbedaan antara keduanya bermuara pada akses. Variabel lingkungan sistem dapat diakses oleh proses apa pun dan properti sistem Java hanya dapat diakses oleh proses yang ditambahkan.

Juga seperti yang dinyatakan Bohemian, variabel env diatur dalam OS (namun mereka 'dapat' diatur melalui Java) dan properti sistem dilewatkan sebagai opsi baris perintah atau ditetapkan via setProperty().


5
Akhirnya, bagaimana variabel ditambahkan dan ruang lingkup variabel.
Praveen Sripati

Perlu diingat bahwa proses lain dapat menemukan cmd yang digunakan untuk meluncurkan suatu proses, karenanya sifat sistem java juga.
Christian

359

42
Benar sekali, Bohemian. Variabel lingkungan adalah "hal OS", dan properti adalah "hal Java". Ketika itu terjadi, Java memilih untuk mengekspos variabel OS sebagai properti (seperti halnya Java mengekspos direktori saat ini dan "hal-hal lain" sebagai properti), tetapi sebenarnya hal-hal itu berbeda.
paulsm4

@MarekSebera apa maksudmu?
Bohemian

8
System.grtProperties()daftar semua properti, dan yang ditetapkan dari command line akan ada di sana, tetapi tidak ada cara untuk membedakan mereka dari properti lain yang ditambahkan oleh sistem, jika itu yang Anda tanyakan.
Bohemian

11
Perhatikan bahwa Anda juga dapat mengatur properti sistem dengan variabel lingkungan JAVA_TOOL_OPTIONS.
flacs

6
@ KanagaveluSugumar Ya, Anda harus memulai ulang: Pengaturan variabel lingkungan dibaca dari lingkungan saat start up. yaitu System.getenv(String name)tidak secara dinamis membaca nilai dari sistem pada waktu panggilan.
Bohemian
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.