结构
java [ options ] class [ argument ... ]
java [ options ] -jar file.jar [ argument ... ]
javaw [ options ] class [ argument ... ]
javaw [ options ] -jar file.jar [ argument ... ]
oldjava [ options ] class [ argument ... ]
oldjavaw [ options ] class [ argument ... ]
options
- 命令行选项。
class
- 要调用的类名。
file.jar
- 要调用的 jar 文件名。只与
-jar
一起使用。
argument
- 传给 main 函数的参数。
说明
java 工具启动 Java 应用程序。它通过启动 Java
运行时环境,装载指定的类并调用该类的 main
方法,从而实现此功能。main 方法必须有以下的用法说明:
public static void main(String[])
缺省情况下,第一个非选项参数是要调用的类名。应当使用全限定类名。如果指定了
-jar 选项,那么第一个非选项参数是 JAR
归档文件的名称,该归档文件包含应用程序的类和资源文件以及 Main-Class
清单头指定的启动类。
Java
运行时环境在下面三个位置集中查找启动类和使用到的其它类:自举类路径、安装方式扩展和用户类路径。
类名或 JAR 文件名后的非选项参数被传递给 main 函数。
JAVA 和 OLDJAVA
下面是 java 和 oldjava 之间的区别:
以下命令使用 oldjava:
oldjava -classpath <path> ...
它等同于下述使用 java 的命令:
java -Xbootclasspath:<path> -Djava.ext.dirs= ...
上述两种情形中,<path> 都包含文件 rt.jar(有关 rt.jar
及其在 JDK 软件中的位置的说明,参见 JDK
文件结构文档)。
JIT
启动器的缺省行为是用“即时”编译器(或 JIT)执行字节码。缺省编译器位于
jre\bin\symcjit.dll 中。当加载类时,JIT
将类字节码转换成本机代码。使用 JIT
会导致在每个类加载后有短暂延迟,但可提高程序的总体性能。在某些情况下,执行时间可缩短十分之一。
如果禁用了 JIT ,解释器将直接执行字节码。有两种办法可将 JIT
禁用:
也可用 JAVA_COMPILER 或 java.compiler 来指定要使用另一个 JIT:
C:\> set JAVA_COMPILER=foo
或
C:\> java -Djava.compiler=foo myapp
将 .dll 扩展名加到 "foo"
后,该例中虚拟机将查找名为 foo.dll 的 JIT
编译器。搜索其它编译器是在 jre\bin 目录中和系统的 PATH
(路径)上进行的。若找不到这样的编译器,虚拟机将缺省使用解释器。
选项
启动器有一组标准选项,当前的运行时环境支持这些选项并且将来的版本也将支持它们。还有一组其它的非标准选项是特定于目前的虚拟机实现的,将来可能要有变化。非标准选项以
-X 打头。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:一种 Web 应用程序级别的 Cluster 实现技术
下一篇:VSFTPD的菜鸟篇
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】