Các thuộc tính hệ thống Java và các biến môi trường


Câu trả lời:


148

Tôi nghĩ rằng sự khác biệt giữa hai sôi xuống để truy cập. Các biến môi trường hệ thống có thể được truy cập bởi bất kỳ quy trình nào và các thuộc tính hệ thống Java chỉ có thể được truy cập bởi quy trình mà chúng được thêm vào.

Cũng như Bohemian đã nêu, các biến env được đặt trong HĐH (tuy nhiên chúng có thể được đặt thông qua Java) và các thuộc tính hệ thống được chuyển qua dưới dạng tùy chọn dòng lệnh hoặc được đặt qua setProperty().


5
Cuối cùng, đó là cách các biến được thêm vào và phạm vi của các biến.
Praveen Sripati

Hãy nhớ rằng các quy trình khác có thể tìm thấy cmd được sử dụng để khởi chạy một quy trình, do đó cũng thuộc tính hệ thống java.
Christian

359

42
Hoàn toàn chính xác, Bohemian. Các biến môi trường là một "điều hệ điều hành" và các thuộc tính là một "điều Java". Khi điều đó xảy ra, Java đã chọn hiển thị các biến OS như các thuộc tính (giống như Java hiển thị thư mục hiện tại và "các thứ khác" làm thuộc tính), nhưng thực tế chúng là những thứ khác nhau.
paulsm4

@MarekSebera ý bạn là gì?
Bohemian

8
System.grtProperties()liệt kê tất cả các thuộc tính và những thuộc tính được đặt từ dòng lệnh sẽ ở đó, nhưng không có cách nào để phân biệt chúng với các thuộc tính khác được hệ thống thêm vào, nếu đó là những gì bạn đang hỏi.
Bohemian

11
Lưu ý rằng bạn cũng có thể đặt thuộc tính hệ thống với biến môi trường JAVA_TOOL_OPTIONS.
flacs

6
@KanagaveluSugumar Có, bạn cần khởi động lại: Cài đặt biến môi trường được đọc từ môi trường khi khởi động. tức là System.getenv(String name)không tự động đọc giá trị từ hệ thống tại thời điểm cuộc gọi.
Bohemian
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.