商城首页欢迎来到中国正版软件门户

您的位置:首页 >Solaris Ja va运行环境配置

Solaris Ja va运行环境配置

  发布于2026-04-21 阅读(0)

扫一扫,手机访问

Ja va运行环境概述

简单来说,JRE(Ja va Runtime Environment)是运行任何Ja va程序所必需的基础平台。你可以把它看作一个“最小化套件”,里面包含了Ja va虚拟机(JVM)、最核心的类库以及必要的支撑文件。当你从命令行使用 `ja va` 工具来启动程序时,实际上调用的就是这个环境。通常,你会配合 `-cp` 选项来指定应用程序的类路径。这个运行环境囊括了所有不可调试的 .so 库文件,以及满足纯运行时需求所必备的类(例如来自1.2.2版本的核心类)。需要注意的是,JRE并不包含那些专属于开发环节的工具,比如用于调试小程序的appletviewer,或者编译器ja vac,以及相关的开发类库。

在这份文档的语境里,“供应商”这个词特指那些获得许可的个人、开发商或独立软件供应商(ISV),他们需要在自己的Ja va产品中打包并分发JRE。作为供应商,必须严格遵守《JRE二进制代码许可协议》的条款,其中有两个关键点不容忽视:

1. 不能只分发JRE中部分必需文件和目录。除非文件中明确列出为“可选项”,否则任何核心文件都不允许被省略。

2. 必须将《JRE二进制代码许可协议》的内容整合到你自身产品的最终用户许可协议中。

此外,供应商还需要清楚了解与JRE相关的技术支持条件。具体信息可以参考这个官方链接:

http://www.ja va.sun.com/solaris/ja va/support.html

Ja va Runtime

到了JRE 1.2版本,原先的 `jre` 命令已经过时,其功能被合并到了 `ja va` 命令中。现在唯一还用得上的环境变量是 `CLASSPATH`,不过它的值可以通过 `ja va` 命令的 `-classpath` 或 `-cp` 选项轻松覆盖。以前在JRE中用来预设系统类路径的 `-cp` 选项,其作用现在已经等同于新 `ja va` 命令里的 `-classpath` 了。

这个 `ja va` 命令就是启动Ja va运行时、执行Ja va应用程序的钥匙。它在Solaris SPARC™和Solaris Intel平台的JRE软件包中都有提供。其基本语法结构如下:

ja va [ threads-flag ] [ options ] class [ argument ... ]

ja va [ threads-flag ] [ options ] -jar file.jar [ argument ... ]

其中,类名(class)参数就是你要执行的类文件名称,紧跟在类名后面的就是传递给这个类的参数。别忘了用 `-cp` 选项来清晰地指定应用的类路径。

下面我们来详细拆解一下 `ja va` 命令的常用选项(这些说明源自 `ja va.1` 手册页):

-classpath classpath
-cp classpath
这个选项用于指定搜索类文件(目录、JAR归档文件、ZIP归档文件)的路径列表。列表中的项用冒号(:)分隔。一旦指定了 `-classpath` 或 `-cp`,它们就会完全覆盖任何已设置的 `CLASSPATH` 环境变量。
在普通的 `ja va` 命令中,`-classpath` 或 `-cp` 仅用于指定用户类。而在 `oldja va` 命令中,它们则同时为用户类和引导类指定路径。
如果既不使用 `-classpath` 或 `-cp`,也没设置 `CLASSPATH` 环境变量,那么用户类路径默认就是当前目录 (.) 。想深入了解类路径?可以查阅“设置类路径”相关章节。

-debug
这个选项已被 `-Xdebug` 替代。

-Dproperty=value
用于设置一个系统属性值。

-jar
这个选项非常实用,它能直接执行封装在JAR归档文件中的程序。此时,第一个参数必须是JAR文件的名称,而不是启动类的类名。
要让它生效有个前提:JAR文件的清单(Manifest)中必须包含一行格式为 `Main-Class: classname` 的声明。这里的 `classname` 就是那个拥有 `public static void main(String[] args)` 方法的类,它充当了整个应用程序的入口点。关于JAR文件和清单的更多细节,可以参考Jar工具手册页以及《Ja va教程》中关于Jar的章节。
使用 `-jar` 选项时,指定的JAR文件将成为所有用户类的唯一来源,其他任何用户类路径设置都会被忽略。
注意:`oldja va` 工具不支持 `-jar` 选项。

-noclassgc
已被 `-Xnoclassgc` 替代。

-ossn
已被 `-Xossn` 替代。

-msh
已被 `-Xmsn` 替代。

-mxn
已被 `-Xmxn` 替代。

-ssn
已被 `-Xssn` 替代。

-t
已被 `-Xt` 替代。

-tm
已被 `-Xtm` 替代。

-verbose
-verbose:class
启用后,会显示每个被加载类的相关信息。

-verbosegc
已被 `-verbose:gc` 替代。

-verbose:gc
报告每一次垃圾收集事件。

-verbose:jni
报告关于本地方法和其他Ja va本地接口(JNI)活动的使用信息。

-version
显示版本信息后退出。

-?
-help

显示用法信息后退出。

-X
显示所有非标准选项的信息后退出。

-Xbootclasspath:bootclasspath
指定一个用于搜索引导类文件(目录、JAR归档文件、ZIP归档文件)的列表,用冒号分隔。这里指定的类将用来替代JDK 1.2软件中内置的引导类文件。

-Xdebug
在启用调试器的模式下启动。Ja va解释器会打印出一个密码,用于后续连接jdb(1)调试工具。具体示例和细节请参考jdb(1)的描述。

-Xcheck:jni
对Ja va本地接口(JNI)函数执行额外的检查。

-Xmaxjitcodesize
为即时编译器(JIT)代码区指定最大大小(以字节为单位)。

-Xnoclassgc
禁用类的垃圾收集。

-Xmsn
指定内存分配池的初始大小。这个值必须大于1000。可以在数字后加上字母 `k` 表示乘以1000,加上 `m` 表示乘以1百万。默认值是1m。

-Xmxn
指定内存分配池的最大大小。规则同上,必须大于1000,可使用k或m后缀。默认值是16m。

-Xossn
每个Ja va线程都有两个堆栈:一个给Ja va代码用,一个给C代码用。`-Xoss` 选项设置的是单个线程中Ja va代码所能使用的最大堆栈大小为 `n`。此后在程序执行中产生的每个线程,其Ja va堆栈大小都会被设为 `n`。`n` 默认单位是字节,且必须大于1000字节。同样,可用 `k` 表示千字节,`m` 表示兆字节。默认堆栈大小是400千字节(即 `-Xoss400k`)。

-Xrunhprof[:help][:suboption=value,...]
启用CPU、堆(heap)或监视器(monitor)性能分析。这个选项后面通常会跟一个用逗号分隔的“子选项=值”对列表。运行命令 `ja va -Xrunhprof:help` 可以获取所有子选项及其默认值的列表。

-Xprof[:file]
启用性能分析。如果没有指定文件,分析结果会写入当前目录下的 `ja va.prof` 文件。

-Xssn
同样是关于线程堆栈,`-Xss` 选项设置的是单个线程中C代码所能使用的最大堆栈大小为 `n`。此后在程序执行中产生的每个线程,其C代码堆栈大小都会被设为 `n`。规则和单位与 `-Xoss` 一致,默认堆栈大小是128千字节(即 `-Xss128k`)。

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

-Xsqnopause
在收到SIGQUIT信号时,不暂停等待用户交互操作。

-Xt
开启指令跟踪。

本文转载于:https://www.jb51.net/os/Solaris/1628.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注