search
HomeJavajavaTutorialJava gets system properties and environment variables

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));  
        }     
    }  
}
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            :应用程序数据目录

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);  
    }  
}
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            :用户的当前工作目录



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

Statement
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
Is Java Platform Independent if then how?Is Java Platform Independent if then how?May 09, 2025 am 12:11 AM

Java is platform-independent because of its "write once, run everywhere" design philosophy, which relies on Java virtual machines (JVMs) and bytecode. 1) Java code is compiled into bytecode, interpreted by the JVM or compiled on the fly locally. 2) Pay attention to library dependencies, performance differences and environment configuration. 3) Using standard libraries, cross-platform testing and version management is the best practice to ensure platform independence.

The Truth About Java's Platform Independence: Is It Really That Simple?The Truth About Java's Platform Independence: Is It Really That Simple?May 09, 2025 am 12:10 AM

Java'splatformindependenceisnotsimple;itinvolvescomplexities.1)JVMcompatibilitymustbeensuredacrossplatforms.2)Nativelibrariesandsystemcallsneedcarefulhandling.3)Dependenciesandlibrariesrequirecross-platformcompatibility.4)Performanceoptimizationacros

Java Platform Independence: Advantages for web applicationsJava Platform Independence: Advantages for web applicationsMay 09, 2025 am 12:08 AM

Java'splatformindependencebenefitswebapplicationsbyallowingcodetorunonanysystemwithaJVM,simplifyingdeploymentandscaling.Itenables:1)easydeploymentacrossdifferentservers,2)seamlessscalingacrosscloudplatforms,and3)consistentdevelopmenttodeploymentproce

JVM Explained: A Comprehensive Guide to the Java Virtual MachineJVM Explained: A Comprehensive Guide to the Java Virtual MachineMay 09, 2025 am 12:04 AM

TheJVMistheruntimeenvironmentforexecutingJavabytecode,crucialforJava's"writeonce,runanywhere"capability.Itmanagesmemory,executesthreads,andensuressecurity,makingitessentialforJavadeveloperstounderstandforefficientandrobustapplicationdevelop

Key Features of Java: Why It Remains a Top Programming LanguageKey Features of Java: Why It Remains a Top Programming LanguageMay 09, 2025 am 12:04 AM

Javaremainsatopchoicefordevelopersduetoitsplatformindependence,object-orienteddesign,strongtyping,automaticmemorymanagement,andcomprehensivestandardlibrary.ThesefeaturesmakeJavaversatileandpowerful,suitableforawiderangeofapplications,despitesomechall

Java Platform Independence: What does it mean for developers?Java Platform Independence: What does it mean for developers?May 08, 2025 am 12:27 AM

Java'splatformindependencemeansdeveloperscanwritecodeonceandrunitonanydevicewithoutrecompiling.ThisisachievedthroughtheJavaVirtualMachine(JVM),whichtranslatesbytecodeintomachine-specificinstructions,allowinguniversalcompatibilityacrossplatforms.Howev

How to set up JVM for first usage?How to set up JVM for first usage?May 08, 2025 am 12:21 AM

To set up the JVM, you need to follow the following steps: 1) Download and install the JDK, 2) Set environment variables, 3) Verify the installation, 4) Set the IDE, 5) Test the runner program. Setting up a JVM is not just about making it work, it also involves optimizing memory allocation, garbage collection, performance tuning, and error handling to ensure optimal operation.

How can I check Java platform independence for my product?How can I check Java platform independence for my product?May 08, 2025 am 12:12 AM

ToensureJavaplatformindependence,followthesesteps:1)CompileandrunyourapplicationonmultipleplatformsusingdifferentOSandJVMversions.2)UtilizeCI/CDpipelineslikeJenkinsorGitHubActionsforautomatedcross-platformtesting.3)Usecross-platformtestingframeworkss

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor