บล็อกนี้อธิบายความแตกต่างระหว่างเมธอด Java System.getProperty() และ System.getenv()
System.getProperty() วิธีการใน Java คืออะไร?
“ System.getProperty() ” เมธอดส่งคืนค่าที่เกี่ยวข้องกับคุณสมบัติของระบบที่ให้มา ประกอบด้วย “ คีย์/ค่า ” รูปแบบคู่ ตามที่ผู้ดูแลระบบกำหนดหรือในไฟล์คอนฟิกูเรชัน คุณสมบัติสามารถตั้งค่าได้ด้วยความช่วยเหลือของ ' -ด ” แฟล็ก หรือหากไม่พบคุณสมบัติ ให้แสดง “ โมฆะ 'ได้รับคืน คุณสมบัติของระบบเริ่มต้นหรือที่ใช้ส่วนใหญ่พร้อมกับคำอธิบายมีอธิบายไว้ในนี้ ลิงค์ .
คุณสมบัติบางอย่างของระบบใช้ในข้อมูลโค้ดด้านล่าง:
คุณสมบัติบางอย่างของระบบใช้ในข้อมูลโค้ดด้านล่าง:
ระดับ พ่อแม่ {
// กำลังเริ่มต้นเมธอดไดรเวอร์
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
สตริง ชื่อผู้ใช้ = ระบบ. รับพร็อพเพอร์ตี้ ( 'ชื่อผู้ใช้' ) ;
ระบบ. ออก . พิมพ์ ( 'ชื่อผู้ใช้โดยใช้คุณสมบัติของระบบ: ' + ชื่อผู้ใช้ ) ;
สตริง classPath = ระบบ. รับพร็อพเพอร์ตี้ ( 'java.class.path' ) ;
ระบบ. ออก . พิมพ์ ( 'เส้นทางคลาสปัจจุบันจากไดเรกทอรีราก: ' + classPath ) ;
ระบบ. ออก . พิมพ์ ( 'ใช้คุณสมบัติที่ไม่ถูกต้อง: ' + ระบบ. รับพร็อพเพอร์ตี้ ( 'บ้าน' ) ) ;
ระบบ. ออก . พิมพ์ ( 'ข้อมูลเวอร์ชัน JRE: ' + ระบบ. รับพร็อพเพอร์ตี้ ( 'java.runtime.version' ) ) ;
ระบบ. ออก . พิมพ์ ( 'สถาปัตยกรรมของระบบปฏิบัติการปัจจุบัน: ' + ระบบ. รับพร็อพเพอร์ตี้ ( 'os.arch' ) ) ;
}
}
คำอธิบายของรหัสด้านบน:
- ขั้นแรก เจ้าของหรือผู้ใช้ที่แท้จริงของระบบจะถูกเรียกคืนโดยผ่าน “ ชื่อผู้ใช้ ” คุณสมบัติใน “ System.getProperty() ' วิธี.
- ถัดไป คุณสมบัติ “ java.class.path ” จะถูกส่งต่อไปยัง “ System.getProperty() ” วิธีการดึงเส้นทางของคลาสปัจจุบันจากไดเรกทอรีราก
- จากนั้นคุณสมบัติอันเป็นเท็จของ “ บ้าน ” ผ่านไป
- “ System.getProperty() ” วิธีการจะแสดง “ โมฆะ ” แสดงว่าไม่มีทรัพย์สิน
- ในทำนองเดียวกัน Java Runtime Version และสถาปัตยกรรมระบบจะถูกเรียกคืนโดยผ่าน ' java.runtime.version ' และ ' os.arch ” ตามลำดับ
เอาต์พุตแสดงค่าที่จำเป็นสำหรับคุณสมบัติของระบบซึ่งได้รับความช่วยเหลือจากเมธอด “System.getProperty()”
System.getenv() วิธีการใน Java คืออะไร?
“ System.getenv() วิธีการส่งกลับค่าที่สอดคล้องกันสำหรับตัวแปรสภาพแวดล้อมที่ระบุ ค่าที่ส่งคืนเป็นค่าไดนามิกและถูกกำหนดโดยระบบปฏิบัติการของระบบหรือโดยผู้ใช้สำหรับเซสชันปัจจุบัน เช่นเดียวกับเมธอด “System.getProperty()” หากไม่พบตัวแปรหรือไม่มีค่าใด ๆ “ โมฆะ 'ได้รับคืน
ตัวอย่างเช่น ไปที่รหัสด้านล่าง:
ระดับ รูทคลาส {// กำลังเริ่มต้นเมธอดไดรเวอร์
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง [ ] หาเรื่อง ) {
ระบบ. ออก . พิมพ์ ( 'การดึงค่าโดยใช้เมธอด System.getenv()' ) ;
สตริง เส้นทางชั่วคราว = ระบบ. สิบ ( 'อุณหภูมิ' ) ;
ระบบ. ออก . พิมพ์ ( 'เส้นทางสำหรับโฟลเดอร์ไฟล์ชั่วคราวคือ: ' + เส้นทางชั่วคราว ) ;
สตริง ระบบปฏิบัติการ = ระบบ. สิบ ( 'NUMBER_OF_PROCESSORS' ) ;
ระบบ. ออก . พิมพ์ ( 'จำนวนโปรเซสเซอร์ของระบบประกอบด้วย: ' + ระบบปฏิบัติการ ) ;
สตริง windowsDirectory = ระบบ. สิบ ( 'ลม' ) ;
ระบบ. ออก . พิมพ์ ( 'การแสดงเส้นทางรูทของระบบ - ' + windowsDirectory ) ;
}
}
คำอธิบายของบล็อกรหัสด้านบน:
- ขั้นแรก สร้างคลาสด้วยชื่อ “ รูทคลาส ' และ ' System.getenv() ” เมธอดใช้เพื่อคืนเส้นทางของโฟลเดอร์ชั่วคราวโดยผ่าน “ อุณหภูมิ ” เป็นค่า
- ถัดไป จำนวนโปรเซสเซอร์และไดเร็กทอรี Windows สำหรับระบบจะถูกเรียกโดยผ่าน “ NUMBER_OF_PROCESSORS ' และ ' ลม ” ถึงเมธอด “System.getenv()” ตามลำดับ
หลังจากรวบรวม:
เอาต์พุตยืนยันว่ามีการดึงค่าตัวแปรสภาพแวดล้อมที่จำเป็น
ความแตกต่างระหว่าง Java System.getProperty และ System.getenv
ความแตกต่างระหว่างเมธอด System.getProperty() และ System.getenv() มีอธิบายไว้ด้านล่างในตาราง:
ภาคเรียน | System.getProperty() | System.getenv() |
---|---|---|
วัตถุประสงค์ | ใช้เพื่อดึงคุณสมบัติของระบบเฉพาะสำหรับ JVM | ใช้เพื่อดึงตัวแปรสภาพแวดล้อมเฉพาะสำหรับสภาพแวดล้อมของระบบปฏิบัติการ |
แหล่งที่มา | โดยทั่วไปคุณสมบัติของระบบจะถูกตั้งค่าเป็นอาร์กิวเมนต์บรรทัดคำสั่ง | ตัวแปรสภาพแวดล้อมถูกตั้งค่าในสภาพแวดล้อมระบบปฏิบัติการ |
เข้าถึง | สามารถดึงทั้งคุณสมบัติของระบบและตัวแปรสภาพแวดล้อม | สามารถเรียกได้เฉพาะตัวแปรสภาพแวดล้อม และต้องใช้คีย์เฉพาะสำหรับตัวแปร |
การใช้งาน | โดยทั่วไปจะใช้เพื่อดึงข้อมูลเกี่ยวกับ JVM เช่นเวอร์ชัน Java | โดยทั่วไปจะใช้เพื่อเข้าถึงการกำหนดค่าเฉพาะสภาพแวดล้อมหรือข้อมูลที่ละเอียดอ่อน |
พกพาสะดวก | ไม่ขึ้นกับแพลตฟอร์มและสามารถเข้าถึงได้อย่างสม่ำเสมอในระบบปฏิบัติการที่แตกต่างกัน | ตัวแปรอาจแตกต่างกันไปตามระบบปฏิบัติการต่างๆ และอาจมีลักษณะการทำงานที่แตกต่างกัน |
บทสรุป
“ System.getProperty() ” เมธอดมีสิทธิ์เข้าถึงคุณสมบัติเฉพาะของ Java และการกำหนดค่าระบบ “ System.getenv() ” เข้าถึงตัวแปรสภาพแวดล้อมที่กำหนดไว้ในระบบปฏิบัติการ อย่างไรก็ตาม ทั้งคู่เหมาะสำหรับการส่งคืนข้อมูลเกี่ยวกับระบบ ยิ่งไปกว่านั้น พวกมันมีวัตถุประสงค์ที่คล้ายกันในการดึงข้อมูลเกี่ยวกับสภาพแวดล้อมของระบบ แต่พวกมันทำงานบนชุดข้อมูลที่แตกต่างกัน