Home Java javaTutorial Java gets system properties and environment variables

Java gets system properties and environment variables

Dec 17, 2016 pm 01:09 PM

When the program needs to use operating system-related variables (for example: file delimiters, newline characters), Java provides the static methods getenv() and getProperty() of the System class to return system-related variables and properties, getenv Most of the variables returned by the method are related to the system, and most of the variables returned by the getProperty method are related to the Java program.

System properties and environment variables are mappings between names and values. Both mechanisms can be used to pass user-defined information to the Java process. Environment variables have more of a global effect, since they are visible not only to Java child processes, but to all children of the process in which they are defined. On different operating systems, their semantics are slightly different, for example, they are not case sensitive. Environment variables are therefore more likely to have unintended side effects. Use system properties whenever possible in your program. Environment variables should be used when global effects are required, or when an external system interface requires the use of environment variables (such as PATH).

1. Environment variable getenv() : used to obtain the string mapping view of the current system environment; the test code and running results are as follows:

publicclass Test {  
    publicstaticvoid main(String[] args) {  
        Map<String, String> map = System.getenv();  
        for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){  
            String key = itr.next();  
            System.out.println(key + "=" + map.get(key));  
        }     
    }  
}
Copy after login
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            :应用程序数据目录
Copy after login

2. System property getProperty() : the current system property. The test code and running results are as follows:

publicclass Test {  
    publicstaticvoid main(String[] args) {  
        Properties props = System.getProperties();  
        props.list(System.out);  
    }  
}
Copy after login
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            :用户的当前工作目录
Copy after login



For more articles related to Java obtaining system properties and environment variables, please pay attention to the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte Mar 07, 2025 pm 06:09 PM

Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache? How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache? Mar 17, 2025 pm 05:44 PM

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?

How does Java's classloading mechanism work, including different classloaders and their delegation models? How does Java's classloading mechanism work, including different classloaders and their delegation models? Mar 17, 2025 pm 05:35 PM

How does Java's classloading mechanism work, including different classloaders and their delegation models?

Node.js 20: Key Performance Boosts and New Features Node.js 20: Key Performance Boosts and New Features Mar 07, 2025 pm 06:12 PM

Node.js 20: Key Performance Boosts and New Features

Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed Mar 07, 2025 pm 05:52 PM

Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed

Iceberg: The Future of Data Lake Tables Iceberg: The Future of Data Lake Tables Mar 07, 2025 pm 06:31 PM

Iceberg: The Future of Data Lake Tables

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading? How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading? Mar 17, 2025 pm 05:43 PM

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?

How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution? How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution? Mar 17, 2025 pm 05:46 PM

How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?

See all articles