java 获取操作系统的参数_JAVA获取系统变量

e24a10091f76bf6347d2405baee99153.png

一.环境变量

注意: Linux下获取值是用$,多个路径分割是用:,Windows下获取值是用%变量名%,多个路径分割是用的;.

Windows 10:

SET 显示、设置或删除 Windows 环境变量。

注意环境变量是不能通过java代码来设置的.查看所有环境变量: set

查看指定环境变量: set 环境变量名 eg: set path

设置指定环境变量: set 环境变量名=值

eg:覆盖值:set path=d:\file;追加值:set path=%path%;d:\file (通过set命令设置的环境变量不是永久性的,只对当前窗口有效)

永久性修改环境变量的方法:

我的电脑-〉属性-〉高级,设置系统的环境变量.

Linux CentOS7:

注意: Linux下是严格区分大小的.

export 显示、设置或删除 Windows 环境变量。查看所有环境变量: export 或 export -p

查看指定环境变量: echo $环境变量名 eg: echo $yves

设置指定环境变量: export 环境变量名=值

eg:覆盖值:export PATH=/home/yves;追加值:export path=$PATH:/home/yves (通过export命令设置的环境变量不是永久性的,只对当前窗口有效.)

永久性修改环境变量方法:在linux下可以设置用户的环境变量(用户目录的.bash_profile);也可以设置系统的环境变量来使得环境变量永久生效(/etc/profile).

二.系统属性 (特指Java中获取的系统属性)系统属性的设置: 通过JVM参数: -D属性名=值 或者在代码中通过Sytem.setProperty(String key, String value)来设置.

系统属性的获取: 在Java中通过System.getProperty(String key)获取属性值.

三.附录 (内置的环境变量和内置的系统属性)

Windows10环境下通过CMD获取的环境变量:

PATH也是环境变量,它是操作系统用于查找来自命令行或终端窗口的必需可执行文件的系统变量。

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环境下通过Java代码获取的环境变量:

public static void main(String[] args) {

Map map = System.getenv();

for (Iterator itr = map.keySet().iterator(); itr.hasNext();) {

String key = itr.next();

System.out.println(key + "=" + map.get(key));

}

}

Windows10环境下的系统属性:

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=

常见重要的环境变量:

USERPROFILE        :用户目录

USERDNSDOMAIN      :用户域

PATHEXT            :可执行后缀

JAVA_HOME          :Java安装目录

TEMP               :用户临时文件目录

SystemDrive        :系统盘符

ProgramFiles       :默认程序目录

USERDOMAIN         :帐户的域的名称

ALLUSERSPROFILE    :用户公共目录

SESSIONNAME        :Session名称

TMP                :临时目录

Path               :path环境变量

CLASSPATH          :classpath环境变量

PROCESSOR_ARCHITECTURE :处理器体系结构

OS                     :操作系统类型

PROCESSOR_LEVEL    :处理级别

COMPUTERNAME       :计算机名

Windir             :系统安装目录

SystemRoot         :系统启动目录

USERNAME           :用户名

ComSpec            :命令行解释器可执行程序的准确路径

APPDATA            :应用程序数据目录

常见重要的系统属性

java.version Java            :运行时环境版本

java.vendor Java             :运行时环境供应商

java.vendor.url              :Java供应商的 URL

java.home                    :Java安装目录

java.vm.specification.version: Java虚拟机规范版本

java.vm.specification.vendor :Java虚拟机规范供应商

java.vm.specification.name   :Java虚拟机规范名称

java.vm.version              :Java虚拟机实现版本

java.vm.vendor               :Java虚拟机实现供应商

java.vm.name                 :Java虚拟机实现名称

java.specification.version   :Java运行时环境规范版本

java.specification.vendor    :Java运行时环境规范供应商

java.specification.name      :Java运行时环境规范名称

java.class.version           :Java类格式版本号

java.class.path              :Java类路径

java.library.path            :加载库时搜索的路径列表

java.io.tmpdir               :默认的临时文件路径

java.compiler                :要使用的 JIT编译器的名称

java.ext.dirs                :一个或多个扩展目录的路径

os.name                      :操作系统的名称

os.arch                      :操作系统的架构

os.version                   :操作系统的版本

file.separator               :文件分隔符

path.separator               :路径分隔符

line.separator               :行分隔符

user.name                    :用户的账户名称

user.home                    :用户的主目录

user.dir                     :用户的当前工作目录

四.说明

系统属性和环境变量都是名称与值之间的映射。两种机制都能用来将用户定义的信息传递给Java进程。环境变量产生更多的全局效应,因为它们不仅对Java子进程可见,而且对于定义它们的进程的所有子进程都是可见的。在不同的操作系统上,它们的语义有细微的差别,比如,不区分大小写。因此环境变量更可能有意料不到的副作用。程序中尽可能使用系统属性。环境变量应该在需要全局效应的时候使用,或者在外部系统接口要求使用环境变量时使用(比如 PATH)

来自:GZH Java架构宝典

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值