龙空技术网

「原创」JVM系列06 | 如何设置虚拟机参数

java联网架构师 91

前言:

今天同学们对“java虚拟机命令配置”大概比较注重,兄弟们都想要学习一些“java虚拟机命令配置”的相关资讯。那么小编也在网上收集了一些关于“java虚拟机命令配置””的相关知识,希望朋友们能喜欢,各位老铁们快快来了解一下吧!

本文是何适 JVM 修仙系列第 6 篇,文末有本系列文章汇总。

从今天开始进入虚拟机参数部分的学习,通过学习虚拟机参数,设置虚拟机参数,配置和跟踪虚拟机,达到故障排查和性能优化的目的。

1. 执行 Java 程序的三种方法

执行 Java 程序的方法:

开发工具执行 Java 代码java -jar 命令执行 jar 包java -cp 命令执行 jar 包

接下来,以如下代码为例设置参数:

public class ArgsTest {    public static void main(String[] args) {        // args参数        for (int i = 0; i < args.length; i++) {            System.out.println("第" + i + "个参数:" + args[i]);        }        // 系统可用最大堆内存        System.out.println(" 系统可用最大堆内存:-Xmx" + Runtime.getRuntime().maxMemory() / 1000 / 1000 + "M");    }}
2. 开发工具设置参数

Eclipse 开发工具设置启动参数,如下图:run configurations --> Arguments --> VM Arguments

3. java -jar

java -jar [-options] .jar [args...]-options表示虚拟机参数,如-Xmx32m.jar 表示jar包路径args表示main方法的参数不需要设置main方法的类,因为MANIFEST.MF中配置了main方法的类

在我本地的 Windows 系统下执行指令及结果如下:

PS C:\Users\Administrator\Desktop> java -jar -Xmx32m .\A.jar A B C第0个参数:A第1个参数:B第2个参数:C系统可用最大堆内存:-Xmx32M
4. jar -cp
java -cp [-options] class [args...]-options表示虚拟机参数,如-Xmx32mclass表示带有main方法的Java类args表示main方法的参数

在我本地的 Windows 系统下执行指令及结果如下:

PS C:\Users\Administrator\Desktop> java -cp .\A.jar test.ArgsTest A B C第0个参数:A第1个参数:B第2个参数:C系统可用最大堆内存:-Xmx32M
参考资料《深入理解 Java 虚拟机(第 2 版) : JVM 高级特性与最佳实践》《实战 Java 虚拟机 : JVM 故障诊断与性能优化》

标签: #java虚拟机命令配置 #java虚拟机参数设置