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 文件编码
...... .......
posted @ 2018-07-13 13:04  21summer  阅读(4352)  评论(0)    收藏  举报