一.環(huán)境變量
注意: Linux下獲取值是用$
,多個路徑分割是用:
,Windows下獲取值是用%變量名%
,多個路徑分割是用的;
.
Windows 10:
SET 顯示售葡、設(shè)置或刪除 Windows 環(huán)境變量暖庄。
注意環(huán)境變量是不能通過java代碼來設(shè)置的.
- 查看所有環(huán)境變量:
set
- 查看指定環(huán)境變量:
set 環(huán)境變量名
eg:set path
- 設(shè)置指定環(huán)境變量:
set 環(huán)境變量名=值
eg:覆蓋值:set path=d:\file
;追加值:set path=%path%;d:\file
(通過set命令設(shè)置的環(huán)境變量不是永久性的,只對當(dāng)前窗口有效)
永久性修改環(huán)境變量的方法:
我的電腦-〉屬性-〉高級,設(shè)置系統(tǒng)的環(huán)境變量.
Linux CentOS7:
注意: Linux下是嚴(yán)格區(qū)分大小的.
export 顯示蜕提、設(shè)置或刪除 Windows 環(huán)境變量余爆。
- 查看所有環(huán)境變量:
export
或export -p
- 查看指定環(huán)境變量:
echo $環(huán)境變量名
eg:echo $yves
- 設(shè)置指定環(huán)境變量:
export 環(huán)境變量名=值
eg:覆蓋值:export PATH=/home/yves
;追加值:export path=$PATH:/home/yves
(通過export命令設(shè)置的環(huán)境變量不是永久性的,只對當(dāng)前窗口有效.)
永久性修改環(huán)境變量方法:在linux下可以設(shè)置用戶的環(huán)境變量(用戶目錄的.bash_profile
);也可以設(shè)置系統(tǒng)的環(huán)境變量來使得環(huán)境變量永久生效(/etc/profile
).
二.系統(tǒng)屬性 (特指Java中獲取的系統(tǒng)屬性)
- 系統(tǒng)屬性的設(shè)置: 通過JVM參數(shù):
-D屬性名=值
或者在代碼中通過Sytem.setProperty(String key, String value)
來設(shè)置. - 系統(tǒng)屬性的獲取: 在Java中通過
System.getProperty(String key)
獲取屬性值.
三.附錄 (內(nèi)置的環(huán)境變量和內(nèi)置的系統(tǒng)屬性)
Windows10環(huán)境下通過CMD獲取的環(huán)境變量:
PATH也是環(huán)境變量,它是操作系統(tǒng)用于查找來自命令行或終端窗口的必需可執(zhí)行文件的系統(tǒng)變量澎迎。
C:\Users\User>SET
ALLUSERSPROFILE=C:\ProgramData
ANT_HOME=D:\ProgramFiles\ant-1.10.1
APPDATA=C:\Users\User\AppData\Roaming
CLASSPATH=.;D:\Java\jdk1.8.0_131\lib;D:\Java\jdk1.8.0_131\lib\tools.jar
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=HEYU
ComSpec=C:\Windows\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
HOMEDRIVE=C:
HOMEPATH=\Users\User
JAVA_HOME=D:\Java\jdk1.8.0_131
LOCALAPPDATA=C:\Users\User\AppData\Local
LOGONSERVER=\\HEYU
MAVEN_HOME=D:\ProgramFiles\maven3.5
MYSQL_HOME=D:\ProgramFiles\mysql-5.6.27-winx64
NUMBER_OF_PROCESSORS=3
OneDrive=C:\Users\User\OneDrive
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;D:\ProgramFiles\IDM Computer Solutions\UltraEdit;D:\Java\jdk1.8.0_131\bin;D:\Java\jdk1.8.0_131\jre\bin;D:\ProgramFiles\maven3.5\bin;D:\ProgramFiles\mysql-5.6.27-winx64\bin;D:\ProgramFiles\ant-1.10.1\bin;C:\Users\User\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 18 Model 1 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=18
PROCESSOR_REVISION=0100
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\User\AppData\Local\Temp
TMP=C:\Users\User\AppData\Local\Temp
USERDOMAIN=HEYU
USERDOMAIN_ROAMINGPROFILE=HEYU
USERNAME=User
USERPROFILE=C:\Users\User
windir=C:\Windows
Windows10環(huán)境下通過Java代碼獲取的環(huán)境變量:
public static void main(String[] args) {
Map<String, String> map = System.getenv();
for (Iterator<String> itr = map.keySet().iterator(); itr.hasNext();) {
String key = itr.next();
System.out.println(key + "=" + map.get(key));
}
}
Windows10環(huán)境下的系統(tǒng)屬性:
public static void main(String[] args) {
Properties props = System.getProperties();
props.list(System.out);
}
-- listing properties --
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=D:\Java\jdk1.7.0_79\jre\bin
java.vm.version=24.79-b02
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
path.separator=;
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.script=
user.country=CN
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=D:\workspace\Jasper-workspace\base64-...
java.runtime.version=1.7.0_79-b15
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=D:\Java\jdk1.7.0_79\jre\lib\endorsed
os.arch=x86
java.io.tmpdir=C:\Users\User\AppData\Local\Temp\
line.separator=;
java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
sun.jnu.encoding=GBK
java.library.path=D:\Java\jdk1.7.0_79\bin;C:\Windows\Su...
java.specification.name=Java Platform API Specification
java.class.version=51.0
sun.management.compiler=HotSpot Client Compiler
os.version=6.3
user.home=C:\Users\User
user.timezone=
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=UTF-8
java.specification.version=1.7
user.name=User
java.class.path=D:\workspace\Jasper-workspace\base64-...
java.vm.specification.version=1.7
sun.arch.data.model=32
java.home=D:\Java\jdk1.7.0_79\jre
sun.java.command=cn.com.yves.Test
java.specification.vendor=Oracle Corporation
user.language=zh
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode, sharing
java.version=1.7.0_79
java.ext.dirs=D:\Java\jdk1.7.0_79\jre\lib\ext;C:\Wi...
sun.boot.class.path=D:\Java\jdk1.7.0_79\jre\lib\resources...
java.vendor=Oracle Corporation
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.desktop=windows
sun.cpu.isalist=
常見重要的環(huán)境變量:
USERPROFILE :用戶目錄
USERDNSDOMAIN :用戶域
PATHEXT :可執(zhí)行后綴
JAVA_HOME :Java安裝目錄
TEMP :用戶臨時文件目錄
SystemDrive :系統(tǒng)盤符
ProgramFiles :默認(rèn)程序目錄
USERDOMAIN :帳戶的域的名稱
ALLUSERSPROFILE :用戶公共目錄
SESSIONNAME :Session名稱
TMP :臨時目錄
Path :path環(huán)境變量
CLASSPATH :classpath環(huán)境變量
PROCESSOR_ARCHITECTURE :處理器體系結(jié)構(gòu)
OS :操作系統(tǒng)類型
PROCESSOR_LEVEL :處理級別
COMPUTERNAME :計算機名
Windir :系統(tǒng)安裝目錄
SystemRoot :系統(tǒng)啟動目錄
USERNAME :用戶名
ComSpec :命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑
APPDATA :應(yīng)用程序數(shù)據(jù)目錄
常見重要的系統(tǒng)屬性
java.version Java :運行時環(huán)境版本
java.vendor Java :運行時環(huán)境供應(yīng)商
java.vendor.url :Java供應(yīng)商的 URL
java.home :Java安裝目錄
java.vm.specification.version: Java虛擬機規(guī)范版本
java.vm.specification.vendor :Java虛擬機規(guī)范供應(yīng)商
java.vm.specification.name :Java虛擬機規(guī)范名稱
java.vm.version :Java虛擬機實現(xiàn)版本
java.vm.vendor :Java虛擬機實現(xiàn)供應(yīng)商
java.vm.name :Java虛擬機實現(xiàn)名稱
java.specification.version :Java運行時環(huán)境規(guī)范版本
java.specification.vendor :Java運行時環(huán)境規(guī)范供應(yīng)商
java.specification.name :Java運行時環(huán)境規(guī)范名稱
java.class.version :Java類格式版本號
java.class.path :Java類路徑
java.library.path :加載庫時搜索的路徑列表
java.io.tmpdir :默認(rèn)的臨時文件路徑
java.compiler :要使用的 JIT編譯器的名稱
java.ext.dirs :一個或多個擴展目錄的路徑
os.name :操作系統(tǒng)的名稱
os.arch :操作系統(tǒng)的架構(gòu)
os.version :操作系統(tǒng)的版本
file.separator :文件分隔符
path.separator :路徑分隔符
line.separator :行分隔符
user.name :用戶的賬戶名稱
user.home :用戶的主目錄
user.dir :用戶的當(dāng)前工作目錄
四.說明
系統(tǒng)屬性和環(huán)境變量都是名稱與值之間的映射送爸。兩種機制都能用來將用戶定義的信息傳遞給Java進程。環(huán)境變量產(chǎn)生更多的全局效應(yīng)顷编,因為它們不僅對Java子進程可見戚炫,而且對于定義它們的進程的所有子進程都是可見的。在不同的操作系統(tǒng)上媳纬,它們的語義有細微的差別双肤,比如,不區(qū)分大小寫钮惠。因此環(huán)境變量更可能有意料不到的副作用茅糜。程序中盡可能使用系統(tǒng)屬性
。環(huán)境變量應(yīng)該在需要全局效應(yīng)的時候使用素挽,或者在外部系統(tǒng)接口要求使用環(huán)境變量時使用(比如 PATH)
轉(zhuǎn)自https://blog.csdn.net/u011479200/article/details/79200788