您当前的位置: 首页 >  jvm

java持续实践

暂无认证

  • 2浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JVM常用基础参数MaxTenuringThreshold详解

java持续实践 发布时间:2020-05-13 21:03:15 ,浏览量:2

文章目录
      • MaxTenuringThreshold参数讲解
      • MaxTenuringThreshold代码实战

MaxTenuringThreshold参数讲解

在GC回收的时候. 如下图详解 From 区和To区 会来回的复制和交换位置. 每交换一次,就会增加一次年龄. 默认交换了15次, 就会从新生代到老年代中去. MaxTenuringThreshold设置垃圾的最大年龄. 默认为15 . 最大也是15,在jdk8中. 范围为 0到15.

MaxTenuringThreshold代码实战

用于测试的代码如下 ,为了程序在后台能够持续的运行., 因此代码中使用了Thread.sleep(Integer.MAX_VALUE); , 首先不设置任何的jvm参数,运行

public class MyHelloGc {

    public static void main(String[] args) throws InterruptedException {
        System.out.println("***************HELLO GC");
        Thread.sleep(Integer.MAX_VALUE);
    }
}

程序运行后, 在terminal使用jps -l, 查看后台正在运行的java进程号 . 如下图所示, 可以看到当前程序的进程号为 19156 使用jinfo -flag MaxTenuringThreshold 19156 查看 参数的值. 如下所示.MaxTenuringThreshold的值默认为 15.

E:\java_dayly\myjvmdemo>jinfo -flag MaxTenuringThreshold 19156
-XX:MaxTenuringThreshold=15

当把jvm的参数, 设置成20时 项目启动后, 提示报错如下 . 提示 设定的20无效. 只能是在0到 15之间. 当把值设定为9 ,再次启动项目时 . -XX:MaxTenuringThreshold=9 通过jps 和 jinfo 可以看到 设定的值已经生效了 .

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.1575s