weixin_44046998 2019-03-29 11:18 采纳率: 0%
浏览 252

最近在看深度理解java虚拟机,有大神能解释这么一段输出结果吗?

public class ReferenceCountingGC {

public Object instance = null;

private static final int _1MB = 1024 * 1024;

private byte[] bigSize = new byte[2 * _1MB];

public static void main(String[] args) {
    ReferenceCountingGC objA = new ReferenceCountingGC();
    ReferenceCountingGC objB = new ReferenceCountingGC();
    objA.instance = objB;
    objB.instance = objA;

    objA = null;
    objB = null;

    System.gc();
}

}

VM options参数:-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8

输出结果:
[GC (Allocation Failure) [PSYoungGen: 7411K->1009K(9216K)] 7411K->3917K(19456K), 0.0017692 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC (System.gc()) [PSYoungGen: 3302K->993K(9216K)] 6211K->3949K(19456K), 0.0005495 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC (System.gc()) [PSYoungGen: 993K->0K(9216K)] [ParOldGen: 2956K->1780K(10240K)] 3949K->1780K(19456K), [Metaspace: 3233K->3233K(1056768K)], 0.0043093 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

疑问:
有大神能解析下这里面所有的内存kb具体是代表什么吗?与代码或虚拟机参数有没有什么联系?
比如说7411k->1009k,
又有7411k->3917k;
这些东西都是怎么算出来的?7411k具体又和什么有联系呢?

  • 写回答

2条回答 默认 最新

  • wangjiawei_coder 2019-03-29 11:25
    关注

    int类型数值范围是–32768到32767

    评论

报告相同问题?

悬赏问题

  • ¥15 图像超分real-esrgan网络自己训练模型遇到问题
  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵