ความแตกต่างระหว่างคุณสมบัติของระบบSystem.getProperties ()และตัวแปรสภาพแวดล้อมSystem.getenv ()ใน JVM คืออะไร
ความแตกต่างระหว่างคุณสมบัติของระบบSystem.getProperties ()และตัวแปรสภาพแวดล้อมSystem.getenv ()ใน JVM คืออะไร
คำตอบ:
ฉันคิดว่าความแตกต่างระหว่างทั้งสองเดือดลงเพื่อเข้าถึง ตัวแปรสภาพแวดล้อมของระบบสามารถเข้าถึงได้โดยกระบวนการใด ๆ และคุณสมบัติของระบบ Java สามารถเข้าถึงได้โดยกระบวนการที่พวกเขาจะเพิ่ม
นอกจากนี้ยังเป็นโบฮีเมียนกล่าวว่าตัวแปร env ตั้งอยู่ในระบบปฏิบัติการ ( แต่พวกเขา '' สามารถตั้งค่าผ่าน Java) setProperty()
และคุณสมบัติของระบบจะถูกส่งผ่านตัวเลือกบรรทัดคำสั่งหรือชุดผ่านทาง
คุณสมบัติของระบบถูกตั้งค่าบนบรรทัดคำสั่ง Java โดยใช้-Dpropertyname=value
ไวยากรณ์ พวกเขายังสามารถเพิ่มที่รันไทม์โดยใช้System.setProperty(String key, String value)
หรือผ่านSystem.getProperties().load()
วิธีการต่างๆ
ที่จะได้รับเฉพาะคุณสมบัติระบบคุณสามารถใช้หรือSystem.getProperty(String key)
System.getProperty(String key, String def)
ตัวแปรสภาพแวดล้อมได้รับการตั้งค่าในระบบปฏิบัติการเช่นใน Linuxexport HOME=/Users/myusername
หรือบน WindowsSET WINDIR=C:\Windows
ฯลฯ และอาจไม่ได้รับการตั้งค่าที่รันไทม์
ที่จะได้รับเฉพาะตัวแปรสภาพแวดล้อมของSystem.getenv(String name)
คุณสามารถใช้
System.grtProperties()
แสดงรายการคุณสมบัติทั้งหมดและชุดที่ตั้งจากบรรทัดคำสั่งจะอยู่ที่นั่น แต่ไม่มีวิธีแยกความแตกต่างจากคุณสมบัติอื่น ๆ ที่เพิ่มโดยระบบหากนั่นคือสิ่งที่คุณต้องการ
JAVA_TOOL_OPTIONS
โปรดทราบว่าคุณยังสามารถตั้งค่าคุณสมบัติของระบบที่มีตัวแปรสภาพแวดล้อม
System.getenv(String name)
ไม่ได้อ่านค่าแบบไดนามิกจากระบบในเวลาที่โทร