一.环境变量

注意: 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架构宝典

java 获取操作系统的参数_JAVA获取系统变量相关推荐

  1. Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION

    Installshield获取安装包版本的系统变量为IFX_PRODUCT_VERSION 当笔记记下来,很简单的一个变量,不过IS里查系统变量是让人头大,知道就是知道,不知道查起来查死人 转载于:h ...

  2. java怎么获取该项目系统的参数_Java 获取系统参数

    Java 获取系统参数 2014/5/22 12:57:44  a920829018  程序员俱乐部  我要评论(0) 摘要:通过System.getProperties()获取系统参数Propert ...

  3. gl.getAttribLocation P41 获取name参数指定的attribute变量存储地址

    参数 program 指定包含顶点着色器和片元着色器的着色器程序对象 name 指定想要获取其存储地址的attribute变量名称 var VSHADER_SOURCE= 'attribute  ve ...

  4. java获取文件地址吗_java获取文件所在服务器位置路径

    1.通过 import javax.servlet.ServletContext 类获取web 服务器所在真实路径 public ActionForward execute( ActionMappin ...

  5. java ip地址接口_java获取ip地址与网络接口的方法示例

    java.net包 大家应该都知道,网络相关对象在java.net包中,Java net包下的类如下: 1.获取主机对象InetAddress //获取本地主机对象 InetAddress host ...

  6. java获取扩展名_Java获取文件扩展名称

    有时在处理文件时,需要根据文件类型对它们进行不同的处理. java.io.File没有任何获取文件扩展名的方法,这里提供了一个实用工具方法来获取文件扩展名. Java获取文件扩展名 在句点(.)之后, ...

  7. java 获取秒数_Java获取精确到秒的时间戳(转)

    1.时间戳简介: 时间戳的定义:通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用.是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01 ...

  8. java this作为参数_Java this关键字

    在 Java 中,this 关键字指的是当前对象的引用,它有 5 种用法,下面分别给大家介绍一下. 1.消除语法歧义(最常用) 这种情况一般出现在有参构造器中,当构造器的参数与类的属性(或成员变量)名 ...

  9. pytorch 获取模型参数_Pytorch获取模型参数情况的方法

    分享人工智能技术干货,专注深度学习与计算机视觉领域! 相较于Tensorflow,Pytorch一开始就是以动态图构建神经网络图的,其获取模型参数的方法也比较容易,既可以根据其内建接口自己写代码获取模 ...

最新文章

  1. 世界第一台电脑_再述东芝的传奇霸业:当年造出世界上首台笔记本,现在却为何放弃...
  2. java 配置文件加载_Java加载配置文件类
  3. for循环与内置方法详解
  4. .net swf 上传组件
  5. Tomcate服务器的基本知识概括总结及安装目录概括
  6. in、at和on作为时间介词_23
  7. ios越狱c语言编译器,iOS12越狱
  8. html输入正确用户名和密码,为什么输入正确用户名和密码还会提示“用户名或密码错误”?...
  9. Cannot add foreign key constraint 错误解决办法
  10. HomeKit 设备接入协议
  11. 股票交易接口程序概述
  12. mybatis 中文官网
  13. C语言:输入一个整数 求它是几位数
  14. ext3格式化成ext4
  15. 图片加载和它的内存们
  16. Android JetPack Security简介
  17. JavaWeb项目1-QQZone
  18. python七巧板绘制图案_p5.js绘制七巧板图案2020-09-02
  19. 期刊论文需要查重吗?
  20. mysql 中的1064_错误代码:mysql中的1064

热门文章

  1. Flink 流批一体一站式平台 StreamX 来袭
  2. POLARDB:向着更快、更高、更强不断前行!
  3. 生育 生殖 長壽의 三情은 萬物의 本能 (韓長庚 易學原理總論)
  4. 数组如何定义和初始化?
  5. linux内存分配方式有三种,浅谈操作系统的内存分配原则
  6. 出门问问变阵 | 中国独角兽豹变之路
  7. Sequelize 中文API文档
  8. 腾讯万亿级分布式消息中间件TubeMQ正式开源
  9. 【Caffe笔记】二.Forward and Backward(前传/反传)
  10. The King’s Problem(tarjan求强连通分量缩点+匈牙利求有向无环图的最小路径覆盖)