JVM Tutorials - Herong's Tutorial Examples - v5.13, by Herong Yang
Accessing System Environment Variables
This section provides a tutorial example on how to access environment variables defined in the operating system using the System.getenv() method.
If you want to access environment variables defined in the operating system, you can use the System.getenv() method, which returns all environment variables as a java.util.Map object.
Here is tutorial example program to list all environment variables defined in the operating system:
/* SystemEnvironmentVariable.java * Copyright (c) HerongYang.com. All Rights Reserved. */ class SystemEnvironmentVariable { public static void main(String[] a) { java.io.PrintStream out = System.out; // copying all environment variables into a map java.util.Map envs = System.getenv(); java.util.Set keys = envs.keySet(); java.util.Iterator i = keys.iterator(); out.println("Environment Variables:"); while (i.hasNext()) { String k = (String) i.next(); String v = (String) envs.get(k); out.println(" "+k+" = "+v); } } }
When executed on my macOS system, I got this result:
herong$ java SystemEnvironmentVariable.java Environment Variables: PATH = /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin SHELL = /bin/bash TERM_PROGRAM = Apple_Terminal JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home SECURITYSESSIONID = 186a8 TERM = xterm-256color USER = herong LANG = en_US.UTF-8 TMPDIR = /var/folders/f5/tnp6f01166q2sbb9r0lrq0140000gp/T/ JAVA_MAIN_CLASS_27984 = com.sun.tools.javac.launcher.Main SSH_AUTH_SOCK = /private/tmp/com.apple.launchd.4U06DCdUB9/Listeners XPC_FLAGS = 0x0 TERM_SESSION_ID = B3510712-952E-47C6-9D84-B8F83AB9CF48 __CF_USER_TEXT_ENCODING = 0x1F6:0x0:0x0 LOGNAME = herong XPC_SERVICE_NAME = 0 TERM_PROGRAM_VERSION = 388.1.3 SHLVL = 1 HOME = /Users/herong _ = /usr/bin/java ...
When executed on my Windows system, I got this result:
herong> java SystemEnvironmentVariable Environment Variables: configsetroot = C:\windows\ConfigSetRoot PROCESSOR_LEVEL = 6 FP_NO_HOST_CHECK = NO SESSIONNAME = Console ALLUSERSPROFILE = C:\ProgramData TVTCOMMON = C:\Program Files (x86)\Common Files\Lenovo PROCESSOR_ARCHITECTURE = x86 PSModulePath = C:\windows\system32\WindowsPowerShell\v1.0\Modules\;... SystemDrive = C: =ExitCode = 00000000 COMMPath = C:\Program Files\Lenovo\Communications Utility TVT = C:\Program Files (x86)\Lenovo SWSHARE = C:\SWSHARE USERNAME = herong USERDNSDOMAIN = ENTERPRISE.CMGI.COM ProgramFiles(x86) = C:\Program Files (x86) PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITEW6432 = AMD64 ProgramData = C:\ProgramData ProgramW6432 = C:\Program Files HOMEPATH = \Users\herong PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 78 Stepping 3, ... ProgramFiles = C:\Program Files (x86) PUBLIC = C:\Users\Public windir = C:\windows =:: = ::\ LOCALAPPDATA = C:\Users\herong\AppData\Local USERDOMAIN = LOCAL LOGONSERVER = \\HOME ...
No surprises in the output.
Table of Contents
JVM (Java Virtual Machine) Specification
Java HotSpot VM - JVM by Oracle/Sun
java.lang.Runtime Class - The JVM Instance
►java.lang.System Class - The Operating System
Standard Input, Output, and Error Streams
Current Time in Milliseconds and Nanoseconds
►Accessing System Environment Variables
Getting and Adding System Properties
ClassLoader Class - Class Loaders
Class Class - Class Reflections
JVM Stack, Frame and Stack Overflow
Thread Testing Program and Result
CPU Impact of Multi-Thread Applications
I/O Impact of Multi-Thread Applications
Micro Benchmark Runner and JVM Options
Micro Benchmark Tests on "int" Operations
Micro Benchmark Tests on "long" Operations
Micro Benchmark Tests in JIT Compilation Mode
Micro Benchmark Tests on "float" and "double" Operations