» 网友学堂 » JAVA教程 » Java 应用程序启动器的使用文档
Java 应用程序启动器的使用文档
作者:ljjk5 发表时间:2007-12-31 12:28 阅读:97次 在百度搜索相关内容

结构  java[options]class[argument...]
  java[options]-jarfile.jar[argument...]
  javaw[options]class[argument...]
  javaw[options]-jarfile.jar[argument...]
  oldjava[options]class[argument...]
  oldjavaw[options]class[argument...]
  options
  命令行选项。
  class
  要调用的类名。
  file.jar
  要调用的jar文件名。只与-jar一起使用。
  argument
  传给main函数的参数。
  说明
  java工具启动Java应用程序。它通过启动Java运行时环境,装载指定的类并调用该类的main方法,从而实现此功能。main方法必须有以下的用法说明:
  publicstaticvoidmain(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)执行字节码。缺省编译器位于jreinsymcjit.dll中。当加载类时,JIT将类字节码转换成本机代码。使用JIT会导致在每个类加载后有短暂延迟,但可提高程序的总体性能。在某些情况下,执行时间可缩短十分之一。
  如果禁用了JIT,解释器将直接执行字节码。有两种办法可将JIT禁用:
  用以下的set命令将环境变量JAVA_COMPILER设为NONE:
  C:>setJAVA_COMPILER=NONE
  在WindowsNT上,也可用系统控制面板设置JAVA_COMPILER。
  用-D命令行选项将java.compiler设为NONE:
  C:>java-Djava.compiler=NONEmyapp
  使用命令行选项将覆盖JAVA_COMPILER环境变量的设置。
  也可用JAVA_COMPILER或java.compiler来指定要使用另一个JIT:
  C:>setJAVA_COMPILER=foo
  或
  C:>java-Djava.compiler=foomyapp
  将.dll扩展名加到"foo"后,该例中虚拟机将查找名为foo.dll的JIT编译器。搜索其它编译器是在jrein目录中和系统的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归档文件列表,用以查找自举类文件。这些自举类文件用来取代JDK1.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平台相关代码接口函数进行额外检查

#Advertisement