JAVA命令参数详解
JAVA命令参数详解
JAVA命令详解
- 结构
- 说明
- Java 和 OldJava
- JIT
- 选项
- 另请参阅
结构
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
public static void main(String[])缺省情况下,第一个非选项参数是要调用的类名。应当使用全限定类名。如果指定了 -jar 选项,那么第一个非选项参数是 JAR 归档文件的名称,该归档文件包含应用程序的类和资源文件以及 Main-Class 清单头指定的启动类。
Java 运行时环境在下面三个位置集中查找启动类和使用到的其它类:自举类路径、安装方式扩展和用户类路径。
类名或 JAR 文件名后的非选项参数被传递给 main 函数。
工具启动 Java 应用程序。它通过启动 Java 运行时环境,装载指定的类并调用该类的 main 方法,从而实现此功能。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 平台相关代码接口函数进行额外检查。
JAVA命令参数详解的更多相关文章
- JAVA 命令参数详解System.setProperty(
JAVA 命令参数详解: 1.-D<name>=<value> set a system property 设置系统属性. java -D参数简化加入多个jar java命令 ...
- Spring Boot启动命令参数详解及源码分析
使用过Spring Boot,我们都知道通过java -jar可以快速启动Spring Boot项目.同时,也可以通过在执行jar -jar时传递参数来进行配置.本文带大家系统的了解一下Spring ...
- Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp sy ...
- nginx命令:启动,停止及命令参数详解
nginx命令:启动nginx 在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 1 C:/nginx-0.8.53>nginx ...
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- 3.3、Ansible命令参数详解
0.ansible 命令参数详解: [root@localhost ~]# ansible Usage: ansible <host-pattern> [options] Options: ...
- ffmpeg命令参数详解
ffmpeg命令参数详解 http://linux.51yip.com/search/ffmpeg ffmpeg图片加滤镜效果 参考:https://cloud.tencent.com/develop ...
- Linux中mpstat命令参数详解
Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
随机推荐
- jquery prop和attr的区别
jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的 ...
- 超越Web,Javascript在物联网的应用
引子 Patrick Catanzariti 是一名Web开发project师,近期他在 sitepoint 发表了<JavaScript Beyond the Web in 2014>, ...
- Android设计中的.9.png与Android Studio中的设置
在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式,它的 ...
- air ios 输入遮挡问题
<!-- Adobe AIR Application Descriptor File Template. Specifies parameters for identifying, instal ...
- 微信公众平台应用开发框架sophia设计不足(1)
设计一个小框架考虑的东西真不少,每一样都不easy: 1.既要解决当前技术的不足: 2.又要方便他人使用(基本的目的). 3.同一时候又要设计得优雅.easy扩展. sophia一開始设计用来支持智能 ...
- C++中的常对象和常对象成员
常对象 常对象必须在定义对象时就指定对象为常对象. 常对象中的数据成员为常变量且必须要有初始值,如 Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对 ...
- 14.5.2 Changing the Number or Size of InnoDB Redo Log Files 改变InnoDB Redo Log Files的数量
14.5.2 Changing the Number or Size of InnoDB Redo Log Files 改变InnoDB Redo Log Files的数量 改变InnoDB redo ...
- 调试Release发布版程序的Crash错误
http://www.cppblog.com/Walker/archive/2012/11/08/146153.html http://blog.sina.com.cn/s/blog_48f93b53 ...
- C# split字符串 依据1个或多个空格
实例场景.对于字符串:"AAAA AAA BBBB BBB BBB CCCCCCCC". 1. 分隔为 "AAAA AAA" . & ...
- thinkphp 3.2.3 入门示例2(URL传参数的几种方式)
原文:thinkphp中URL传参数的几种方式 在thinkphp中,url传参合asp.net中原理类似,下面就单个参数和多个参数传递方式进行一个简单讲解 1.传单个参数 单个参数这种比较简单,例如 ...