java之系統屬性


本文參考文章:https://blog.csdn.net/bbirdsky/article/details/8136310
                         https://blog.csdn.net/rexct392358928/article/details/51362880
                         https://blog.csdn.net/bbirdsky/article/details/8136310

什么是java的系統屬性

     在java應用程序運行時,特別是需要在跨平台工作環境中運行時,需要確定操作系統的類型、用戶JDK版本、用戶工作目錄等隨工作平台變化的信息,以確保程序正確運行。這些程序的運行環境信息為java平台的自身配置,被稱為java的系統屬性。系統屬性與操作系統的環境變量類似,可以認為是JVM虛擬機的環境變量。(其實JVM本身就相當於一個計算機,自然它本身也需要一些自己的環境變量 ,JVM中稱為系統屬性)
     系統屬性與環境變量都是名稱與值之間的映射。兩種機制都可以將用戶定義的信息傳遞給java進程。全局變量產生的更多的是全局效應,他們不僅對java子進程可見,而且對於定義它們的所有子進程都是可見的。程序中盡可能使用系統屬性,而環境變量應該在全局范圍需要時才使用。

如何查看java的系統屬性

方法一、jvisualvm工具

%JAVA_HOEM%/bin/jvisulavm,打開java visualVM軟件,本地---Visual VM ---概述---系統屬性

方法二、System.getProperty,System.getProperties方法獲取

System.getProperties() : 獲取所有系統屬性
System.getProperty(String name) :獲取指定的系統屬性
System.getProperty(String name, String def) :獲取指定的系統屬性,如果不存在該屬性,則返回默認值def。
此外,System模塊提供了獲取環境變量的方法:
System.getenv() : 獲取所有的環境變量
System.getenv(String name) : 獲取指定名稱的環境變量值

System方法查看系統屬性和環境變量示例

System.out.println(System.getProperty("sun.arch.data.model"));//獲取java運行時的數據位數

執行結果:(依賴程序運行的環境)
 64

System.getProperties().list(System.out);// 獲取所有的系統屬性

執行結果這里不展示。

System.out.println(System.getenv("OS"));//獲取操作系統類型

執行結果:(依賴程序運行的環境)
 Windows_NT

設置系統屬性

System類中提供設置系統屬性的方法setProperty,使用方法如下:

System.setProperty("NU_HOME","E:\\nucleon";
System.out.println(System.getProperty("NU_HOME"));

執行結果:
  E:\nucleon

常見的系統變量

含義
OS 操作系統類型
COMPUTERNAME 計算機名
Windir 系統安裝目錄
SystemRoot 系統啟動目錄
USERNAME 用戶名
USERPROFILE 用戶目錄
USERDOMAIN 用戶域的名稱
PATHEXT 可執行文件后綴
TEMP 用戶臨時文件目錄
TEMP 用戶臨時文件目錄
TMP 臨時目錄
PATH path環境變量
...... ......

常見的系統屬性

含義
java.runtime.name java運行時名稱
sun.boot.library.path jre的bin路徑
java.vm.version java虛擬機版本
java.vm.vendor java虛擬機供應商
java.vendor.url java供應商網址
java.vm.name java虛擬機名稱
user.country 國家編碼
user.home 當前程序根目錄
user.timezone 計算機當前所在時區
user.name 當前計算機用戶名稱
file.separator 文件路徑分隔符
file.encoding 文件編碼
...... .......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM