JVM 作为一个通用的虚拟机,我们可以通过启动 Java 命令时指定不同的 JVM 参数,让 JVM 调整自己的运行状态和行为,内存管理和垃圾回收的 GC 算法,添加和处理调试和诊断信息等等。本节概括的讲讲 JVM 参数,对于 GC 相关的详细参与将在后续的 GC 章节说明和分析。
直接通过命令行启动 Java 程序的格式为:
java [options] classname [args]
java [options] -jar filename [args]
其中:
[options]
部分称为 "JVM 选项",对应 IDE 中的 VM options, 可用jps -v
查看。[args]
部分是指 "传给main函数的参数", 对应 IDE 中的 Program arguments, 可用jps -m
查看。
如果是使用 Tomcat 之类自带 startup.sh 等启动脚本的程序,我们一般把相关参数都放到一个脚本定义的 JAVAOPTS 环境变量中,最后脚本启动 JVM 时会把 JAVAOPTS 变量里的所有参数都加到命令的合适位置。
如果是在 IDEA 之类的 IDE 里运行的话,则可以在“Run/Debug Configurations”里看到 VM 选项和程序参数两个可以输入参数的地方,直接输入即可。