我们知道在%JAVA_HOME%\jdk1.6.0\bin\目录下面存在大量的.exe文件,其中很多只是一个包装器如javac.exe,对这些exe文件的调用最终是去运行java库中相应的类文件。javac.exe对应%JAVA_HOME%\jdk1.6.0\lib\tools.jar中的com.sun.tools.javac.Main(在此处也有一个sun.tools.javac.Main,这个在我的系统上运行提示该类文件过时了)。对javac.exe的调用可以用下列批处理文件表示:set classpath=%JAVA_HOME%\jdk1.6.0_01\lib\tools.jar;
java com.sun.tools.javac.Main %1如上所说,我们是不是可以理解为执行javac时虚拟机就启动了。因为调用了java,java又会调用到jvm.dll我觉得我的理解应该时错误的,希望高手指正。