คุณสมบัติของระบบ Java และตัวแปรสภาพแวดล้อม


คำตอบ:


148

ฉันคิดว่าความแตกต่างระหว่างทั้งสองเดือดลงเพื่อเข้าถึง ตัวแปรสภาพแวดล้อมของระบบสามารถเข้าถึงได้โดยกระบวนการใด ๆ และคุณสมบัติของระบบ Java สามารถเข้าถึงได้โดยกระบวนการที่พวกเขาจะเพิ่ม

นอกจากนี้ยังเป็นโบฮีเมียนกล่าวว่าตัวแปร env ตั้งอยู่ในระบบปฏิบัติการ ( แต่พวกเขา '' สามารถตั้งค่าผ่าน Java) setProperty()และคุณสมบัติของระบบจะถูกส่งผ่านตัวเลือกบรรทัดคำสั่งหรือชุดผ่านทาง


5
ในที่สุดก็เป็นวิธีการเพิ่มตัวแปรและขอบเขตของตัวแปร
Praveen Sripati

โปรดทราบว่ากระบวนการอื่นสามารถหา cmd ที่ใช้ในการเรียกใช้โปรเซสดังนั้นคุณสมบัติของระบบจาวาเช่นกัน
คริสเตียน

359
  • คุณสมบัติของระบบถูกตั้งค่าบนบรรทัดคำสั่ง 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)คุณสามารถใช้


42
ถูกต้องแน่นอนโบฮีเมีย ตัวแปรสภาพแวดล้อมเป็น "สิ่งที่ระบบปฏิบัติการ" และคุณสมบัติเป็น "สิ่งที่เป็นจาวา" ในขณะที่มันเกิดขึ้น Java เลือกที่จะเปิดเผยตัวแปร OS เป็นคุณสมบัติ (เช่นเดียวกับ Java แสดงไดเรกทอรีปัจจุบันและ "สิ่งอื่น ๆ " เป็นคุณสมบัติ) แต่ในความเป็นจริงสิ่งที่แตกต่างกัน
paulsm4

@MarekSebera คุณหมายความว่าไง?
โบฮีเมียน

8
System.grtProperties()แสดงรายการคุณสมบัติทั้งหมดและชุดที่ตั้งจากบรรทัดคำสั่งจะอยู่ที่นั่น แต่ไม่มีวิธีแยกความแตกต่างจากคุณสมบัติอื่น ๆ ที่เพิ่มโดยระบบหากนั่นคือสิ่งที่คุณต้องการ
ภาษาโบฮีเมียน

11
JAVA_TOOL_OPTIONSโปรดทราบว่าคุณยังสามารถตั้งค่าคุณสมบัติของระบบที่มีตัวแปรสภาพแวดล้อม
flacs

6
@KanagaveluSugumar ใช่คุณต้องเริ่มต้นใหม่: การตั้งค่าตัวแปรสภาพแวดล้อมถูกอ่านจากสภาพแวดล้อมเมื่อเริ่มต้น ie System.getenv(String name)ไม่ได้อ่านค่าแบบไดนามิกจากระบบในเวลาที่โทร
โบฮีเมียน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.