实战Java虚拟机:JVM故障诊断与性能优化(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 小参数能解决大问题:学会设置Java虚拟机的参数

Java虚拟机可以使用JAVA_HOME/bin/java程序启动(JAVA_HOME为JDK的安装目录),一般来说,Java进程的命令行使用方法如下:

其中,-options表示Java虚拟机的启动参数,class为带有main()函数的Java类,args表示传递给主函数main()的参数。

如果需要设定特定的Java虚拟机参数,在options处指定即可。目前,Hotspot虚拟机支持大量的虚拟机参数,可以帮助开发人员进行系统调优和故障排查。相关的一些参数将在本书的后续章节中逐步介绍,本节则主要介绍参数的设置方法。

【示例2-1】以如下代码为例,我们先来了解一下如何设置参数。

上述代码打印了传递给main()函数的参数,同时打印了系统的最大可用堆内存。使用如下命令运行这段代码:

从结果可以看到,第一个参数-Xmx32m传递给Java虚拟机,生效后,使得系统最大可用堆空间为32MB,参数a则传递给主函数main(),作为应用程序的参数。

-Xmx会在本书后续章节中展开讨论,除了-Xmx,虚拟机还支持大量的调优诊断参数,其设置方式都是类似的,在本书后续章节中会逐步介绍这些参数。

如果读者使用Eclipse等开发工具运行程序,在运行对话框的参数选项卡上,也可以设置这两个参数,如图2.2所示,显示了“程序参数”和“虚拟机参数”两个文本框,将所需的参数填入即可。

图2.2 通过Eclipse为虚拟机设置启动参数