System.getenv()
'System.getenv' method return
the system environment properties. If the system does not support environment
variables, an empty map is returned.
package com.sample.app;
import java.util.Map;
public class App {
public static void main(String args[]) {
Map<String, String> properties = System.getenv();
for (String key : properties.keySet()) {
System.out.println(key + " = " + properties.get(key));
}
}
}
Output
PATH = /usr/bin:/bin:/usr/sbin:/sbin SHELL = /bin/bash SQLITE_EXEMPT_PATH_FROM_VNODE_GUARDS = /Users/krishna/Library/WebKit/Databases USER = krishna JAVA_MAIN_CLASS_62467 = com.sample.app.App APP_ICON_5033 = ../Resources/Eclipse.icns TMPDIR = /var/folders/1c/tb7sr9q90mb62pqngbt4l56h5l9cz7/T/] LOGNAME = krishna XPC_SERVICE_NAME = org.eclipse.platform.ide.11092 JAVA_STARTED_ON_FIRST_THREAD_5033 = 1 HOME = /Users/Krishna
System.properties
This method return Java specific
properties. You can even set new java system properties at command line while
running the application.
package com.sample.app;
import java.util.Enumeration;
import java.util.Properties;
public class App {
public static void main(String args[]) {
Properties properties = System.getProperties();
Enumeration<Object> props = properties.keys();
while (props.hasMoreElements()) {
Object key = props.nextElement();
Object value = properties.get(key);
System.out.println(key + " = " + value);
}
}
}
Output
java.runtime.name = Java(TM) SE Runtime Environment sun.boot.library.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib java.vm.version = 25.221-b11 gopherProxySet = false java.vm.vendor = Oracle Corporation java.vendor.url = http://java.oracle.com/ path.separator = : java.vm.name = Java HotSpot(TM) 64-Bit Server VM file.encoding.pkg = sun.io user.country = IN sun.java.launcher = SUN_STANDARD sun.os.patch.level = unknown java.vm.specification.name = Java Virtual Machine Specification user.dir = /Users/krishna/eclipse-workspace/sof java.runtime.version = 1.8.0_221-b11 java.awt.graphicsenv = sun.awt.CGraphicsEnvironment java.endorsed.dirs = /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/endorsed os.arch = x86_64 java.io.tmpdir = /var/folders/1c/tb7sr9q90mb62pqngbt4l56h5l9cz7/T/ line.separator = java.vm.specification.vendor = Oracle Corporation os.name = Mac OS X sun.jnu.encoding = UTF-8 java.library.path = /Users/krishna/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. java.specification.name = Java Platform API Specification java.class.version = 52.0 sun.management.compiler = HotSpot 64-Bit Tiered Compilers os.version = 10.14.6 user.home = /Users/krishna user.timezone = java.awt.printerjob = sun.lwawt.macosx.CPrinterJob file.encoding = UTF-8 java.specification.version = 1.8 java.class.path = /Users/krishna/eclipse-workspace/sof/target/classes:/Users/krishna/.m2/repository/com/google/code/gson/gson/2.8.6/gson-2.8.6.jar:/Users/krishna/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.6.3/jackson-core-2.6.3.jar:/Users/krishna/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.3/jackson-databind-2.6.3.jar:/Users/krishna/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.0/jackson-annotations-2.6.0.jar:/Users/krishna/.m2/repository/com/owlike/genson/1.6/genson-1.6.jar:/Users/krishna/.m2/repository/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar:/Users/krishna/.m2/repository/org/apache/commons/commons-text/1.8/commons-text-1.8.jar:/Users/krishna/.m2/repository/org/springframework/spring-web/5.2.2.RELEASE/spring-web-5.2.2.RELEASE.jar:/Users/krishna/.m2/repository/org/springframework/spring-beans/5.2.2.RELEASE/spring-beans-5.2.2.RELEASE.jar:/Users/krishna/.m2/repository/org/springframework/spring-core/5.2.2.RELEASE/spring-core-5.2.2.RELEASE.jar:/Users/krishna/.m2/repository/org/springframework/spring-jcl/5.2.2.RELEASE/spring-jcl-5.2.2.RELEASE.jar user.name = krishna java.vm.specification.version = 1.8 sun.java.command = com.sample.app.App java.home = /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre sun.arch.data.model = 64 user.language = en java.specification.vendor = Oracle Corporation awt.toolkit = sun.lwawt.macosx.LWCToolkit java.vm.info = mixed mode java.version = 1.8.0_221 java.ext.dirs = /Users/krishna/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java sun.boot.class.path = /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre/classes java.vendor = Oracle Corporation file.separator = / java.vendor.url.bug = http://bugreport.sun.com/bugreport/ sun.io.unicode.encoding = UnicodeBig sun.cpu.endian = little sun.cpu.isalist =
You can even set the system
properties while launching the application from command line.
Example
java -DpropertyName1=value1
-DpropertyName2=value2... {ApplicationName}
Example
java -Dname=Krishna
-DnoOfThreads=20 App
App.java
public class App {
public static void main(String args[]) {
String noOfThreads = System.getProperty("noOfThreads");
String name = System.getProperty("name");
System.out.println("Number Of Thread : " + noOfThreads);
System.out.println("Name : " + name);
}
}
Compile and run the
application by passing vm arguments.
$javac App.java
$java -Dname=Krishna -DnoOfThreads=20 App
Number Of Thread : 20
Name : Krishna
How to pass vm
arguments in Eclipse?
Right click on Application.
Run As -> Run
Configurations…
Go to Arguments tab.
Add below statement in VM
arguments: tab.
-Dname=Krishna
-DnoOfThreads=20
Click on Run button to run the
application.
You may
like
No comments:
Post a Comment