java高*之JVM命令参数大全(概述)

时间:2021-10-01 17:15:45

java高*之JVM命令参数大全(概述)

概要

java [options] classname [args]

java [options] -jar filename [args]

javaw [options] classname [args]

javaw [options] -jar filename [args]

  • options:命令行选项,使用空格分割
  • classname:启动类的名称
  • filename:jar包文件名称,仅和-jar名选项一起使用。
  • args: 传递给main方法的参数,使用空格分隔。

描述:

java命令通过启动JRE来启动一个java应用。这个过程伴随着加载类、访问类的main方法。main方法必须被定义成public和static,并且不能有任何返回值,和接收一个字符串数组为参数,这个方法的声明如下:

    public static void main(String[] args)

java命令也用来启动javaFX应用,同样此类也有main方法或者继承了javafx.application.Application类。后者会构造一个Application 类的实例,然后调用其init方法,最后调用start(javafx.stage.Stage)方法。

默认情况下,如果第一个参数不是一个java命令你给选项,那么就必须是一个将要被访问的java类的全限定名。如果第一个参数是-jar选项,它的参数就是包含类和资源的jar包名称,而且启动类必须在mf文件

中通过Main-Class来指定。

JRE会在三个集合中寻找应用的启动类以及使用到的类:引导类路径、扩展类路径、用户类路径。

在classname和file那么厚跟的就是需要传递给main方法的参数。

javaw和 java相似,但是javaw没有没有与之关联的控制窗口。javaw如果启动失败会显示一个对话框提示错误信息。java通过控制台运行,javaw则不是。java用于启动window console 控制台程序

javaw用于启动 GUI程序,如果是基于纯文本的编成用java。如果是图形化但随时打印成纯文本用java。如果你在检查错误,用java。如果程序是纯粹的图形化的,而且你需要提升速度,用javaw。

选项

java命令行支持很多参数,他们可以被分成以下几类:

  • 1:标准选项

  • 2:非标准选项

  • 3:高级运行时选项

  • 4:高级JIT编译选项

  • 5:高级可维护性选项

  • 6:高级垃圾收集选项

标准选项是必须被所有的JVM实现支持的。他们是公共的操作,比如检查JRE的版本,设置类路径,支持详细输出等等。

非标准选项是特指hotspot虚拟机中的选项,所以它们不是被所有的虚拟机实现支持,这些选线以-X开头

高级选线不建议随便使用,它们是开发者选项,用来调整特定的虚拟机操作,这些操作经常针对特定的操作系统以及环境变量参数。它们也不是被所有的虚拟机支持,高级选项以-XX开头

为了记录失效的或者在新版本中已经被删除的选项,在本章最后的一节介绍:失效和删除的选项。

Boolean 选项是使那些默认关闭的特性开启或者使默认开启的特性关闭,这样的选项不需要参数,如果是开启则使用+号(-XX:+OptionName) ,如果是关闭则使用-号(-XX:-OptionName)。

对于那些需要参数的选项,参数和选项以空格、冒号、等于号分开,或者参数直接跟在选项后。如果你想使用字节来指定大小,你可以不使用后缀或者使用k(K)或者m(M)或者g(G).如果你想指定

一个百分数的值,使用 0到1中间的数表示(0.25表示25%)。


后面的章节继续分类介绍jvm参数