我是一个菜鸡1 2022-05-21 20:06 采纳率: 0%
浏览 6

为什么在Visual VM中的Eden和Old以及Survivor分配内存都不合理?

我使用的是JDK15
参数设置

-XX:+PrintFlagsFinal
-XX:SurvivorRatio=8
-Xms600m
-Xmx600m
-XX:-UseAdaptiveSizePolicy1
代码如下:

public class ClassNumberTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Animal animal = new Animal("Cat");
        Animal people = new People("Man", 18);

        

        sc.nextLine();
    }
}

class Animal{
    private String name;
    public Animal(String name){
        this.name  = name;
    }

    public void sleep(){
        System.out.println("I am sleeping");
    }

    public void eat(){
        System.out.println("i am eating");
    }
}

class People extends Animal{
    private Integer age;
    public People (String name,Integer age)
    {
        super(name);
        this.age = age;
    }
}


img

img

可以看到这里的比例不符合Eden和Survivor的8:1:1的比例
以及老年代和Eden的比例也不符合2:1的比例
我使用的是JDK15
有没有人帮忙看一下,谢谢

  • 写回答

1条回答 默认 最新

  • 皮蛋不吃粥 2022-05-21 20:21
    关注

    点overview 右下角可以看jvm参数

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 5月21日