分享
 
 
 

java - Java 应用程序启动器的使用文档

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

结构

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 启动器对所有类都使用自举类加载器,而 java 启动器只对自举类使用自举类加载器。这使得与基本类加载器不兼容的编程技术得以存在。

在 java 中, -classpath 和 -cp 选项用于指定用户类的搜索路径,它们不能用来指定自举类的位置。而在 oldjava 中,-classpath 和 -cp 选项指定包括自举类在内的所有类的位置。

注意: java 和 oldjava 在 CLASSPATH 环境变量的使用上无不同之处。除非 CLASSPATH 被 -classpath 或 -cp 覆盖了,否则它总是指定用户类的位置,而不提供自举类的任何信息。

oldjava 启动器支持所有的 1.2 安全功能。但对于 oldjava 来说,从类路径加载的类没有保护域,因而在 java 启动器中只有自举类才拥有的所有权限它都拥有。

以下命令使用 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 禁用:

用以下的 set 命令将环境变量 JAVA_COMPILER 设为 NONE:

C:\> set JAVA_COMPILER=NONE

在 Windows NT 上,也可用系统控制面板设置 JAVA_COMPILER。

用 -D 命令行选项将 java.compiler 设为 NONE:

C:\> java -Djava.compiler=NONE myapp

使用命令行选项将覆盖 JAVA_COMPILER 环境变量的设置。

也可用 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 打头。

标准选项

-classpath 类路径

-cp 类路径

指定一个用于查找类文件的列表,它由目录、 JAR 归档文件和 ZIP 归档文件组成。类路径项用分号 (;) 分隔。指定 -classpath 或 -cp 将覆盖 CLASSPATH 环境变量的所有设置。

-classpath 或 -cp 与 java 或 javaw 一起使用时用于指定用户类和自举类的类路径。-classpath 或 -cp 与 oldjava 或 oldjavaw 一起使用时仅用于指定用户类的类路径。

如果不使用 -classpath 和 -cp,且没有设定 CLASSPATH ,则用户类路径由当前目录 (.) 构成。

有关类路径的详细信息,请参阅设置类路径。

-D属性=值

设置系统属性的值。

-jar

执行封装在 JAR 归档文件中的程序。第一个参数是 JAR 归档文件的名称而不是启动类名。启动类由 Main-Class 清单头指定。JAR 文件是所有用户类的源,其它的用户类路径设置将被忽略。

oldjava 和 oldjavaw 工具不支持 -jar 选项。

-verbose

-verbose:class

显示每个所加载的类的信息。

-verbose:gc

报告每个垃圾收集事件。

-verbose:jni

报告有关本地方法的使用和其它 Java 平台相关代码接口活动的信息。

-version

显示版本信息并退出。

-?

-help

显示用法信息并退出。

-X

显示非标准选项的有关信息并退出。

非标准选项

-Xbootclasspath:自举类路径

指定以分号分隔的目录、 JAR 归档文件和 ZIP 归档文件列表,用以查找自举类文件。这些自举类文件用来取代 JDK 1.2 软件中所包括的自举类文件。

-Xdebug

启动激活的调试器。Java 解释器将输出一密码供 jdb 使用。有关详细资料及程序示例,请参阅 jdb 说明。

-Xnoclassgc

禁用类垃圾收集

-Xmsn

指定内存分配池的初始容量。该值必须大于 1000。要使该值扩大 1000 倍,须附加上字母 k,要使该值扩大一百万倍,须附加上字母 m。缺省值为 1m。

-Xmxn

指定内存分配池的最大容量。该值必须大于 1000。要将它扩大 1000 倍,须附加上字母 k,要将该值扩大一百万倍,须附加上字母 m。缺省值为 16m。

-Xrunhprof[:help][:<子选项>=<值>,...]

启用 cpu 、堆或监视器监控操作。该选项后面一般跟着一个列表,该列表由以逗号分隔的 "<子选项>=<值>" 对所组成。运行命令 java -Xrunhprof:help 可获得子选项及其缺省值的列表。

-Xrs

减少操作系统信号的使用。

-Xcheck:jni

对 Java 平台相关代码接口函数进行额外检查

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有