91名师指路-头部
91名师指路

jvm的参数类型和更改

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

一:JVM的参数类型:

(1)标配参数。

(2)X参数(了解即可)。

(3)XX参数(重点)。


二:jvm参数类型的详细介绍:

(1)标配参数如:java -version,java -help 等等。

(2)X参数。

(2.1) -Xint。解释执行

(2.2) -Xcomp。第一次使用就编译成本地代码

(2.3) -Xmixed。混合模式

(3)XX参数:分为Boolean类型和KV设值类型。

(3.1)Boolean类型:-XX:+或者- 某个属性值,+表示开启,-表示关闭。如: -XX:+PrintGCDetails;-XX:-PrintGCDetails

(3.2)KV设值类型:-XX:key(属性)= value(属性值)。-XX:MetaspaceSize=128m;-XX:MaxTenuringThreshold=15


三:演示jvm默认是否开启PrintGCDetails(打印GC收集信息):boolean类型,代码如下

package com.mszl.gc;
/**
* 功能:演示是否打印PrintGCDetails
* 备注:更多资料请访问 http://www.91mszl.com
* @author bobo teacher
*/
public class GcDemo1 {

public static void main(String[] args) {
System.out.println(" hello http://www.91mszl.com");
try {
Thread.sleep(100000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}


}

执行结果:

我们先使用 jps -l 查看当前程序的进程id。

C:\Users\zhang>jps -l
2768
4432 sun.tools.jps.Jps
5600
6188 com.mszl.gc.GcDemo1

然后我们在采用 jinfo -flag PrintGCDetails 6188,查看当前进程是否开启了PrintGCDetails

C:\Users\zhang>jinfo -flag PrintGCDetails 6188
-XX:-PrintGCDetails

可能执行完 jinfo -flag PrintGCDetails 命令后出现拒绝访问,是因为cmd要以管理员的权限进行运行(我是win7系统)。


我们可以发现PrintGCDetails 前面为 -,表示没有开启。我们在eclipse里面配置,让它开启:


我们再次执行 jps -l 和 jinfo -flag PrintGCDetails命令,发现已经开启了,前面已经成+了。

C:\Users\zhang>jinfo -flag PrintGCDetails 3020
-XX:+PrintGCDetails


四:演示jvm默认MetaspaceSize大小:kv设置类型,代码如下

package com.mszl.gc;
/**
* 功能:演示jvm默认MetaspaceSize大小
* 备注:更多资料请访问 http://www.91mszl.com
* @author bobo teacher
*/
public class GcDemo1 {

public static void main(String[] args) {
System.out.println(" hello http://www.91mszl.com");
try {
Thread.sleep(100000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}


}


执行 jps -l 查看进行编号


执行 jinfo -flag MetaspaceSize 2192

可以看到MetaspaceSize默认是 12582912,等于12M


接下来我们在eclipse里面更改下,我们改为20M


执行 jps -l

执行 jinfo -flag MetaspaceSize 4824

我们可以看到MetaspaceSize 已经由原来的12M改成了我们设置的20M


2019-12-04 17:01:53     阅读(1190)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部