原 jvm的参数类型和更改
版权声明:本文为博主原创文章,请尊重他人的劳动成果,转载请附上原文出处链接和本声明。
本文链接:https://www.91mszl.com/zhangwuji/article/details/1160
一: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 阅读(1293)
名师出品,必属精品 https://www.91mszl.com
博主信息