⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java - java 应用程序启动器.htm

📁 javn的Java书籍JAVA集合框架.rar我看过了是很有帮助的
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0082)http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html -->
<HTML><HEAD><TITLE>java - Java 应用程序启动器</TITLE>
<META http-equiv=Content-Type content="text/html; CHARSET=gb2312">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=white>
<H1>java - Java 应用程序启动器</H1>
<UL>
  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#synopsis">结构</A> 

  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#description">说明</A> 

  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#oldjava">Java 
  和 OldJava</A> 
  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#jit">JIT</A> 

  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#options">选项</A> 

  <LI><A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#seealso">另请参阅</A> 
  </LI></UL><A name=synopsis>
<H2>结构</H2></A><PRE>    <B>java</B> [ <A href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/threads.html">threads flag</A> ] [ options ] class [ argument ... ]
    <B>java</B> [ <A href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/threads.html">threads flag</A> ] [ options ] <B>-jar</B> file.jar [ argument ... ]
    <B>oldjava</B> [ <A href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/threads.html">threads flag</A> ] [ options ] class [ argument ... ]
</PRE>
<BLOCKQUOTE>
  <DL>
    <DT><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#options"><CODE>options</CODE></A> 

    <DD>命令行选项。 
    <DT><CODE>class</CODE> 
    <DD>要调用的类名。 
    <DT><CODE>file.jar</CODE> 
    <DD>要调用的 jar 文件名。只与 <A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/java.html#-jar"><CODE>-jar</CODE></A> 
    一起使用。 
    <DT><CODE>argument</CODE> 
    <DD>传给 <B>main</B> 函数的参数。 </DD></DL></BLOCKQUOTE><A name=description>
<H2>说明</H2></A>
<BLOCKQUOTE><B>
  <P>java</B> 工具启动 Java 应用程序。它通过启动 Java 运行时环境,装载指定的类并调用该类的 <B>main</B> 
  方法,从而实现此功能。<B>main</B> 方法必须有以下的用法说明:</P><PRE>    public static void main(String[])
</PRE>
  <P>缺省情况下,第一个非选项参数是要调用的类名。应当使用全限定类名。如果指定了 <B>-jar</B> 选项,那么第一个非选项参数是 <B>JAR</B> 
  归档文件的名称,该归档文件包含应用程序的类和资源文件以及 <B>Main-Class</B> 清单头所指的启动类。</P>
  <P>Java 运行时在下面三个位置集中查找启动类和使用到的其它类:自举类路径、安装方式扩展和用户类路径。</P>
  <P>类名或 JAR 文件名后的非选项参数被传递给 <B>main</B> 函数。</P></BLOCKQUOTE><A name=oldjava>
<H2>JAVA 和 OLDJAVA</H2></A>
<BLOCKQUOTE>
  <P>在 Solaris 系统中, <B>java</B> 启动器工具有两种形式:<B>一种是 java</B>,它实现所有的 1.2 功能;另一种是 
  <B>oldjava</B>,它是一种功能有限的启动工具,它支持一些与 1.2 功能不兼容的编程技巧。下面是 <B>java</B> 和 
  <B>oldjava</B> 之间的区别: 
  <UL>
    <LI><B>oldjava</B> 启动器不支持扩展机制,当然,它可以将扩展包用作类和资源归档文件。 
    <LI><B>oldjava</B> 启动器对所有类都使用自举类加载器,而 <B>java</B> 启动器只对自举类使用自举类加载器。 
    <LI>在 <B>java</B> 中, <B>-classpath</B> 和 <B>-cp</B> 
    选项用于指定用户类的搜索路径,它们不能用来指定自举类的位置。而在 <B>oldjava</B> 中, <B>-classpath</B> 和 
    <B>-cp</B> 选项指定包括自举类在内的<I>所有</I>类的位置。
    <P>注意: <B>java</B> 和 <B>oldjava</B> 在 <B>CLASSPATH</B> 
    环境变量的使用上<I>无</I>不同之处。除非 <B>CLASSPATH</B> 被 <B>-classpath</B> 或 <B>-cp</B> 
    覆盖了,否则它总是指定用户类的位置,但不提供自举类的任何信息。</P>
    <LI><B>oldjava</B> 启动器支持所有的 1.2 安全功能。但使用 <B>oldjava</B> 时,从类路径加载的类没有保护域,因而在 
    <B>java</B> 启动器中只有自举类才拥有的所有权限它都拥有。 </LI></UL>
  <P>以下命令使用 <B>oldjava</B> : </P>
  <BLOCKQUOTE><PRE>oldjava -classpath &lt;path&gt; ...
</PRE></BLOCKQUOTE>
  <P>它等同于下述使用 <B>java</B> 的命令: </P>
  <BLOCKQUOTE><PRE>java -Xbootclasspath:&lt;path&gt; -Djava.ext.dirs= ...
</PRE></BLOCKQUOTE>
  <P>上述两种情形中,<TT>&lt;path&gt;</TT> 都包含文件 <TT>rt.jar</TT>(有关 <TT>rt.jar</TT> 
  的描述及其在 JDK 软件中的位置的说明,请参阅 <A 
  href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jdkfiles.html">JDK 
  文件结构</A>文档)。 </P></BLOCKQUOTE>
<P><A name=jit></A></P>
<H2>JIT</H2>
<BLOCKQUOTE>
  <P>启动器的缺省行为是用“即时”编译器(或 JIT)执行字节码。缺省编译器位于 <TT>jre/lib/sparc/libsunwjit.so</TT> 
  中。当加载类时,JIT 将类字节码转换成本地机器代码。使用 JIT 
  会导致在每个类加载后有短暂延迟,但可提高程序的总体性能。在某些情况下,执行时间可缩短十分之一。</P>
  <P>如果禁用了 JIT ,解释器将直接执行字节码。有两种办法可将 JIT 禁用: 
  <UL>
    <LI>用以下的<B> setenv </B>命令将环境变量 <B>JAVA_COMPILER</B> 设为 <B>NONE</B>: 
    <BLOCKQUOTE><PRE>% setenv JAVA_COMPILER NONE
</PRE></BLOCKQUOTE>
    <LI>用 <B>-D</B> 命令行选项将 <B>java.compiler</B> 设为 <B>NONE</B>: 
    <BLOCKQUOTE><PRE>% java -Djava.compiler=NONE myapp
</PRE></BLOCKQUOTE>
    <P>使用命令行选项将覆盖 <B>JAVA_COMPILER</B> 环境变量的设置。</P></LI></UL>
  <P>也可用 <B>JAVA_COMPILER</B> 或 <B>java.compiler</B> 来指定要使用另一个 JIT : </P>
  <BLOCKQUOTE><PRE>% setenv JAVA_COMPILER foo
</PRE></BLOCKQUOTE>
  <P>或 </P>
  <BLOCKQUOTE><PRE>% java -Djava.compiler=foo myapp
</PRE></BLOCKQUOTE>
  <P>将字母 <TT>lib</TT> 加到 "foo" 前面,并加上 <TT>.so</TT> 扩展名,因此,在该例中,虚拟机将查找名为 
  <TT>libfoo.so</TT> 的 JIT 编译器。查找所选编译器是在 <TT>jre/lib/sparc</TT> 目录以及由 
  <B>LD_LIBRARY_PATH</B> 
环境变量所指定的搜索路径中进行的。若找不到这样的编译器,虚拟机将默认为使用解释器。</P></BLOCKQUOTE><A name=options>
<H2>选项</H2></A>
<BLOCKQUOTE>
  <P>启动器有一组标准选项,当前的运行时环境支持这些选项并且将来的版本也将支持它们。有一批附加的非标准选项是专门用于当前的虚拟机实现的,在将来的版本中它会改变。非标准选项以 
  <B>-X</B> 打头。</P></BLOCKQUOTE><A name=standard>
<H2>标准选项</H2></A>
<BLOCKQUOTE>
  <DL>
    <DT><B>-classpath</B> <I>类路径</I> 
    <DT><B>-cp</B> <I>类路径</I> 
    <DD>指定一个用于查找类文件的列表,它由目录、 JAR 归档文件和 ZIP 归档文件组成。类路径项用冒号 (<B>:</B>) 来分隔。指定 
    <B>-classpath</B> 或 <B>-cp</B> 将覆盖 <B>CLASSPATH</B> 环境变量的所有设置。
    <P><B>-classpath</B> 或 <B>-cp</B> 与 <B>java</B> 或 <B>javaw</B> 
    一起使用时将同时指定用户类和自举类的路径。<B>-classpath</B> 或 <B>-cp</B> 与 <B>oldjava </B>或 
    <B>oldjavaw </B>一起使用时仅用于指定用户类的类路径。</P>
    <P>如果不使用 <B>-classpath</B> 和 <B>-cp</B> ,且没有设定 <B>CLASSPATH</B> ,则用户类路径由当前目录 
    (<B><CODE>.</CODE></B>) 构成。</P>
    <P>有关类路径的详细信息,请参阅<A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/classpath.html">设置类路径</A>。</P>
    <DT><B>-D</B><I>属性</I><B>=</B><I>值</I> 
    <DD>设置系统属性的值。
    <P><A name=-jar></A></P>
    <DT><B>-jar</B> 
    <DD>执行封装在 JAR 归档文件中的程序。第一个参数是 JAR 归档文件的名称而不是启动类名。启动类由 <B>Main-Class</B> 
    清单头指定。JAR 文件是所有用户类的源,其它的用户类路径设置将被忽略。
    <P><B>oldjava</B> 和 <B>oldjavaw</B> 工具不支持 <B>-jar</B> 选项。</P>
    <DT><B>-verbose</B> 
    <DT><B>-verbose:class</B> 
    <DD>显示每个所加载的类的信息。 
    <DT><B>-verbose:gc</B> 
    <DD>报告每个垃圾收集事件。 
    <DT><B>-verbose:jni</B> 
    <DD>报告有关本地方法的使用和其它 Java 平台相关代码接口活动的信息。 
    <DT><B>-version</B> 
    <DD>显示版本信息并退出。 
    <DT><B>-?</B> 
    <DT><B>-help</B> 
    <DD>显示用法信息并退出。 
    <DT><B>-X</B> 
    <DD>显示与非标准选项有关的信息并退出。 </DD></DL></BLOCKQUOTE><A name=nonstandard>
<H3>非标准选项</H3></A>
<BLOCKQUOTE>
  <DL>
    <DT><B>-Xbootclasspath:</B><I>自举类路径</I> 
    <DD>指定以冒号分隔的目录、 JAR 归档文件和 ZIP 归档文件列表,用以查找自举类文件。这些自举类文件用来取代 JDK 1.2 
    软件中所包括的自举类文件。 
    <DT><B>-Xdebug</B> 
    <DD>启动时激活调试器。Java 解释器将输出一密码供 jdb 使用。有关详细资料及程序例子,请参阅 <A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jdb.html#description">jdb 
    说明</A>。 
    <DT><B>-Xnoclassgc</B> 
    <DD>禁用类垃圾收集 
    <DT><B>-Xms</B><I>n</I> 
    <DD>指定内存分配池的初始容量。该值必须大于 1000。要使该值扩大 1000 倍,须附加上字母 <B>k</B>,要使该值扩大一百万倍,须附加上字母 
    <B>m</B>。缺省值为 <B>1m</B>。 
    <DT><B>-Xmx</B><I>n</I> 
    <DD>指定内存分配池的最大容量。该值必须大于 1000。要将它扩大 1000 倍,须附加上字母 <B>k</B>,要将该值扩大一百万倍,须附加上字母 
    <B>m</B>。缺省值为 <B>16m</B>。 
    <DT><B>-Xrunhprof</B>[:<I>help</I>][:<I>&lt;子选项&gt;=&lt;值&gt;,...</I>] 
    <DD>启用 cpu 、堆或监视器监控操作。该选项后面一般跟着一个列表,该列表由以逗号分隔的 "&lt;子选项&gt;=&lt;值&gt;" 
    对所组成。运行命令 <B>java -Xrunhprof:help</B> 可获得子选项及其缺省值的列表。 
    <DT><B>-Xrs</B> 
    <DD>减少操作系统信号的使用。 
    <DT><B>-Xcheck:jni</B> 
    <DD>对 Java 平台相关代码接口函数进行额外检查。 </DD></DL></BLOCKQUOTE><A name=seealso>
<H2>另请参阅</H2></A>
<BLOCKQUOTE>
  <UL>
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/javac.html">javac 
    - Java 编程语言编译器</A> 
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jdb.html">jdb 
    - Java 应用程序调试程序</A> 
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/javah.html">javac 
    - C 头文件与 stub 文件生成器</A> 
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/tooldocs/solaris/jar.html">jar 
    - JAR 归档工具</A> 
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/extensions/index.html">Java 
    扩展框架</A> 
    <LI><A 
    href="http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/security/index.html">安全特性</A>。 
    </LI></UL></BLOCKQUOTE></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -