最近开始看tomcat的源码,发现在在tomcat启动的时候有这样一行代码:
File bootstrapJar =
new File(System.getProperty("user.dir"), "bootstrap.jar");
感觉比较奇怪,程序在之前并没有setProperty(“user.dir”),所这样看啦,这个应该是java虚拟机启动时加载的内容。
所以写了几行测试代码看java虚拟机启动时其它的内容是什么:
package cn.com.casco.tomcat.test;
import java.util.Properties;
import java.util.Set;
public class Test001 {
/**
* @param args
*
* @author 61228
*
* 测试java程序启动时 System内所带的变量信息
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Properties properties=System.getProperties();
Set<Object> set=properties.keySet();
for (Object string : set) {
String str=properties.getProperty((String)string);
System.out.println(string+" "+str);
}
}
}
在我的机器上运行的结果如下:
java.runtime.name Java(TM) SE Runtime Environment
sun.boot.library.path D:\Java\jdk1.6.0_43\jre\bin
java.vm.version 20.14-b01
java.vm.vendor Sun Microsystems Inc.
java.vendor.url http://java.sun.com/
path.separator ;
java.vm.name Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg sun.io
sun.java.launcher SUN_STANDARD
user.country CN
sun.os.patch.level Service Pack 1
java.vm.specification.name Java Virtual Machine Specification
user.dir D:\jamesworkspace\TestTomcat
java.runtime.version 1.6.0_43-b01
java.awt.graphicsenv sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs D:\Java\jdk1.6.0_43\jre\lib\endorsed
os.arch amd64
java.io.tmpdir C:\Users\61228\AppData\Local\Temp\
line.separator
java.vm.specification.vendor Sun Microsystems Inc.
user.variant
os.name Windows 7
sun.jnu.encoding GBK
java.library.path D:\Java\jdk1.6.0_43\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Java/jdk1.6.0_43/bin/../jre/bin/server;D:/Java/jdk1.6.0_43/bin/../jre/bin;D:/Java/jdk1.6.0_43/bin/../jre/lib/amd64;F:\61228\app\product\11.1.0\db_1\bin;C:\PROGRAM FILES (X86)\INTEL\ICLS CLIENT\;C:\PROGRAM FILES\INTEL\ICLS CLIENT\;C:\Windows\SYSTEM32;C:\Windows;C:\Windows\SYSTEM32\WBEM;C:\Windows\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT;C:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL;C:\PROGRAM FILES (X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\3.0\BIN\X86;C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\3.0\BIN\X64;;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Java\jdk1.6.0_43\bin;D:\Program Files\eclipsejee\eclipse;;.
java.specification.name Java Platform API Specification
java.class.version 50.0
sun.management.compiler HotSpot 64-Bit Tiered Compilers
os.version 6.1
user.home C:\Users\61228
user.timezone
java.awt.printerjob sun.awt.windows.WPrinterJob
file.encoding GBK
java.specification.version 1.6
java.class.path D:\jamesworkspace\TestTomcat\bin
user.name 61228
java.vm.specification.version 1.0
sun.java.command cn.com.casco.tomcat.test.Test001
java.home D:\Java\jdk1.6.0_43\jre
sun.arch.data.model 64
user.language zh
java.specification.vendor Sun Microsystems Inc.
awt.toolkit sun.awt.windows.WToolkit
java.vm.info mixed mode
java.version 1.6.0_43
java.ext.dirs D:\Java\jdk1.6.0_43\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path D:\Java\jdk1.6.0_43\jre\lib\resources.jar;D:\Java\jdk1.6.0_43\jre\lib\rt.jar;D:\Java\jdk1.6.0_43\jre\lib\sunrsasign.jar;D:\Java\jdk1.6.0_43\jre\lib\jsse.jar;D:\Java\jdk1.6.0_43\jre\lib\jce.jar;D:\Java\jdk1.6.0_43\jre\lib\charsets.jar;D:\Java\jdk1.6.0_43\jre\lib\modules\jdk.boot.jar;D:\Java\jdk1.6.0_43\jre\classes
java.vendor Sun Microsystems Inc.
file.separator \
java.vendor.url.bug http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding UnicodeLittle
sun.cpu.endian little
sun.desktop windows
sun.cpu.isalist amd64
总结:自己要学的还很多,貌似信息还满全面的,很多在以后编程的时候还可以用上,比方说说user.language 和user.country之类的。