zoukankan      html  css  js  c++  java
  • 堆-对象的分配与回收过程

    1. 堆的内存结构

    • 新生区(Young Generation Space)
      • 伊甸园区(Eden)
      • 幸存者0区(Survivor0)
      • 幸存者1区(Survivor1)
    • 老年区(Old/Tenure)
    • 永久代(jdk7以前)/元空间(jdk8以后)

    2.堆空间大小

    • 默认情况下
      • 初始内存大小:物理内存/64
      • 最大内存大小:物理内存/4
    • 设置堆空间
      • Xms 设置堆空间(年轻代+老年代)的初始内存大小 -X 是jvm的运行参数 ms(memory start)
      • Xmx 设置堆空间(年轻代+老年代)的最大内存大小
      • 开发中建立将初始堆内存和最大堆内存设置成相同的值减少GC和系统的额外压力

    3.常用参数

    -XX:+PrintFlagsInitial:查看所有的参数的默认初始值
    -XX:+PrintFlagsFinal:查看所有的参数的最终值(可能会存在修改,不再是初始值)
    -Xms:初始堆空间内存(默认为物理内存的1/64)
    -Xmx:最大堆空间内存(默认为物理内存的1/4)
    -Xmn:设置新生代的大小(初始值及最大值)
    -XX:NewRatio:配置新生代与老年代在堆结构的占比
    -XX:SurvivorRatio:设置新生代中Eden和S0/S1空间的比例
    -XX:MaxTenuringThreshold:设置新生代垃圾的最大年龄
    -XX:+PrintGCDetails:输出详细的GC处理日志
    -XX:+PrintGC 或 -verbose:gc :打印gc简要信息
    -XX:HandlePromotionFalilure:是否设置空间分配担保
    
  • 相关阅读:
    hihocoder1634 Puzzle Game
    hihocoder1580 Matrix
    BZOJ3036 绿豆蛙的归宿
    CF|codeforces 280C Game on Tree
    [SDOI2011] 计算器
    [SCOI2007] 修车
    [JSOI2008] 球形空间产生器sphere
    APIO2012 派遣dispatching | 左偏树
    OI数据结构&&分治 简单学习笔记
    BZOJ3307 雨天的尾巴
  • 原文地址:https://www.cnblogs.com/zhucww/p/13852250.html
Copyright © 2011-2022 走看看