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: ucleon

常见的系统变量

含义
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 文件编码
...... .......
原文地址:https://www.cnblogs.com/21summer/p/9304379.html