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

本文转载自【微信公众号:java进阶架构师,ID:java_jiagoushi】经微信公众号授权转载,如需转载与原文作者联系

f561ccd13ea7a925b27e5525b6f46f0d.png

6b04d384df810c8a457b07e6a5972b0c.png

本文是何适 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开发工具设置启动参数,如下图:runconfigurations-->Arguments-->VMArguments

fdbdb93b9017009c126ec670330e0f3a.png

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表示虚拟机参数,如-Xmx32m

class表示带有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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值