• 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 文件编码
    ...... .......
  • 相关阅读:
    第 33课 C++中的字符串(下)
    第 33课 C++中的字符串(上)
    第32课 初探C++标准库
    第31课 完善的复数类
    第30课 操作符重载
    第29课 类中的函数重载
    C++和C的相互调用
    函数重载遇上函数指针
    函数重载分析
    第2课 算法的效率问题
  • 原文地址:https://www.cnblogs.com/21summer/p/9304379.html
Copyright © 2020-2023  润新知