Apakah Pembolehubah Persekitaran?
Setiap bahasa pengaturcaraan komputer mengandungi pembolehubah dan pemalar yang memperuntukkan lokasi memori unik, yang mengandungi maklumat untuk digunakan oleh atur cara. Nilai malar tidak boleh diubah tetapi nilai pembolehubah boleh diubah. Pembolehubah persekitaran ialah pasangan kunci/nilai yang nilainya ditetapkan di luar program dan rujukannya sentiasa tersedia untuk program pada bila-bila masa. Kedua-dua kunci dan nilai adalah rentetan. Konvensyen untuk menetapkan dan menggunakan pembolehubah persekitaran sentiasa berbeza antara sistem pengendalian dan penterjemah baris arahan. Mereka sentiasa tersedia secara global untuk setiap aplikasi yang dijalankan pada sistem.Contoh
PATH = "C:\\WINDOWS\system32;"
Di sini, Path ialah pembolehubah persekitaran yang ditetapkan di luar program tetapi tersedia untuk setiap program yang dijalankan pada tingkap.
Use Case
Seperti yang kita tahu setiap perubahan dalam program perlu dilaksanakan atau digunakan semula ke pelayan yang mungkin menghasilkan kesan sampingan yang tidak diingini dalam pengeluaran. Jadi tujuan utama memperkenalkan pembolehubah persekitaran adalah untuk menyekat pelaksanaan dan penggunaan ini berulang kali.Bagaimana Untuk Mendapatkan Pembolehubah Persekitaran di Java?
Mari lihat bagaimana untuk mendapatkan pembolehubah persekitaran dalam java. Java memberi kita 2 cara untuk mendapatkan pembolehubah persekitaran dalam program Java.-
System.getenv()
-
System.getProperty()
System.getenv()
Kaedah System.getenv () digunakan untuk mengambil semua pembolehubah persekitaran tetapi jika nama kunci tertentu disediakan sebagai parameter maka ia akan mengambil nilainya. java.lang.System.getenv() sentiasa mengembalikan peta rentetan semua pembolehubah persekitaran yang tersedia.Pengisytiharan
public static String getenv(String name)
Di sini, nama ialah parameter yang digunakan untuk menentukan kunci yang kami perlukan nilainya.
Kembali
Ia akan mengembalikan nilai kunci atau null jika parameter yang disediakan tidak dikaitkan dengan sebarang kunci. Jika parameter tidak diluluskan maka ia akan mengembalikan semua pasangan kunci/nilai yang tersedia.Contoh
import java.util.Map;
public class SystemGetEnvDemo {
public static void main(String[] args) {
// getting value for environment variable "PATH"
System.out.print("System.getenv(PATH) = ");
System.out.println(System.getenv("PATH"));
// getting value for environment variable "TEMP" resulting in null
System.out.print("System.getenv(TEMP) = ");
System.out.println(System.getenv("TEMP"));
//getting all environment variables using System.getenv()
Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
System.out.format("%s=%s%n",
envName,
env.get(envName));
}
}
}
Pengeluaran
System.getenv(PATH) = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin System.getenv(TEMP) = null PATH=/usr/local /sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PROGRAMIZ_COMPILER_SERVICE_HOST=10.0.10.151 KUBERNETES_PORT=tcp://10.0.0.1:443 PROGRAMIZ_COMPILER_PORT://10.50.p. :80 ISTILAH=xterm PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PROTO=tcp KUBERNETES_SERVICE_HOST=10.0.0.1 PS1= PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT_80_TCP_PORTIZ_COMPIL_80_TCP_PORTIZ_COMPIL_WEV_80_TCP_PORTIZ_COMPIL_80_COMPIL_80_TCP_PORTIZ_8_0TC_PGUI_PORTIZ_BTC_PGUI_PORTIZ_8_0TC_P. ADDR=10.0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP=tcp://10.0.10.151:80 PROGRAMIZ_COMPILER_PORT_80_TCP_PROTO=tcp PWD=/app KUBERNETES_PORT_443_TCP=tcp.10.://tcp.1. :443 PROGRAMIZ_COMPILER_PORT_80_TCP_ADDR=10.0.10.151 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_PORT=tcp://10.0.14.233:80 KUBERNETES_PORT_443_TCP_ADDR.10.0.14.000 _HOST=10.0.14.233 PROGRAMIZ_COMPILER_PORT_80_TCP_PORT=80 KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_SERVICE_PORT=443 PROGRAMIZ_COMPILER_SERVICE_PORT=80 PROGRAMIZ_COMPILER_COMPILER_WEB_P_200. 3:80 PROGRAMIZ_COMPILER_WEB_UI_SEVICE_SERVICE_PORT=80 HOSTNAME=programiz-compiler-deployment-58bfd77477-dtlq8 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_SERVICE_PORT_comHOPIER=44/home
Anda mungkin mendapat output yang berbeza bergantung pada sistem pengendalian anda.
System.getProperty()
Kami juga boleh menggunakan java.lang.System.getProperty() dalam Java untuk mendapatkan semula nilai bagi kunci yang ditentukan yang diluluskan sebagai parameter kepada kaedah ini. Kaedah ini digunakan untuk mendapatkan semula sifat sistem, iaitu maklumat tentang sistem dan konfigurasi setempat. Jika pembolehubah persekitaran hadir sebagai sifat sistem dalam java maka lebih baik menggunakan System.getProperty() untuk mendapatkan nilai dalam cara bebas platform. Nilai untuk sifat boleh diubah pada masa jalan tetapi tidak berlaku dengan pembolehubah persekitaran.Pengisytiharan
public String getProperty(String name)
Di sini, nama ialah parameter yang digunakan untuk menentukan kunci yang kami perlukan nilainya.
Kembali
Ia akan mengembalikan nilai kunci atau null.Contoh
import java.lang.*;
import java.util.Properties;
public class SystemGetPropertyDemo {
public static void main(String[] args)
{
// getting username system property
// using System.getProperty in Java
System.out.println("user.name: " + System.getProperty("user.name"));
// getting property with key home resulting in null
// calling system.getproperty()
System.out.println("home: " + System.getProperty("home"));
// getting name of Operating System
System.out.println("os.name: " + System.getProperty("os.name"));
}
}
Pengeluaran
nama pengguna: rumah pengkompil: null os.name: Linux
GO TO FULL VERSION