zoukankan      html  css  js  c++  java
  • JVM内存配置参数

    对于JVM内存配置参数:
    -Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3
    ,其最小内存值和Survivor区总大小分别是()

    参数解释:

    -Xms :设置堆的最小值
    -Xmx:设置堆的最小值和最大值。
    -Xmn:设置了新生代的大小为5120m
    -XXSurvivorRatio=3:设置eden:survivor=3:1

    jvm内存区域解析

    jvm中分为堆和方法区
    堆又进一步分为新生代和老年代
    方法区为永久代
    堆中区分的新生代和老年代是为了垃圾回收,新生代中的对象存活期一般不长,而老年代中的对象存活期较长,所以当垃圾回收器回收内存时,新生代中垃圾回收效果较好,会回收大量的内存,而老年代中回收效果较差,内存回收不会太多。
    基于以上特性,新生代中一般采用复制算法,因为存活下来的对象是少数,所需要复制的对象少,而老年代对象存活多,不适合采用复制算法,一般是标记整理和标记清除算法。
    因为复制算法需要留出一块单独的内存空间来以备垃圾回收时复制对象使用,所以将新生代分为eden区和两个survivor区,每次使用eden和一个survivor区,另一个survivor作为备用的对象复制内存区。

    题目解析:

    最小内存值就是初始堆的大小

    -Xmn设置了新生代的大小为5120m,而-XXSurvivorRatio=3
    eden+2*survivor=5120
    3*survivor+2*survivor=5120
    5*survivor=5120
    survivor=1024

  • 相关阅读:
    几个常用排序的代码实现堆排序|快排|归并排序 Marathon
    0647回文子串 Marathon
    任意输入一个日期输出是当年的第几天星期几
    从输入URL到浏览器显示页面发生了什么
    常用链接整理
    computed 与 method
    将博客搬至CSDN
    leetcode_Two Sum
    VC++6.0与Office2010冲突解决方案
    C&C++_malloc函数
  • 原文地址:https://www.cnblogs.com/infoflow/p/7535854.html
Copyright © 2011-2022 走看看