堆是java虚拟机所管理的内存中最大的一块内存区域,也是被各个线程共享的内存区域,该内存区域存放了对象实例及数组(但不是所有的对象实例都在堆中)。其大小通过-Xms(最小值)和-Xmx(最大值)参数设置(最大最小值都要小于1G),前者为启动时申请的最小内存,默认为操作系统物理内存的1/64,后者为JVM可申请的最大内存,默认为物理内存的1/4,默认当空余堆内存小于40%时,JVM会增大堆内存到-Xmx指定的大小,可通过-XX:MinHeapFreeRation=来指定这个比列;当空余堆内存大于70%时,JVM会减小堆内存的大小到-Xms指定的大小,可通过XX:MaxHeapFreeRation=来指定这个比列,当然为了避免在运行时频繁调整Heap的大小,通常-Xms与-Xmx的值设成一样。堆内存 = 新生代+老生代+持久代。在我们垃圾回收的时候,我们往往将堆内存分成新生代和老生代(大小比例1:2),新生代中由Eden和Survivor0,Survivor1组成,三者的比例是8:1:1,新生代的回收机制采用复制算法,在Minor GC的时候,我们都留一个存活区用来存放存活的对象,真正进行的区域是Eden+其中一个存活区,当我们的对象时长超过一定年龄时(默认15,可以通过参数设置),将会把对象放入老生代,当然大的对象会直接进入老生代。老生代采用的回收算法是标记整理算法。
javajvm内存模型(jvm内存模型详解)
javajvm内存模型(jvm内存模型详解)堆是 java 虚拟机所管理的内存中最大的一块内存区域 也是被各个线程共享的内存区域 该内存区域存放了对象实例及数组 但不是所有的对象实例都在堆中 其大小通过 Xms 最小值 和 Xmx 最大值 参数设置 最大最小值都要小于 1G 前者为启动时申请的最小内存 默认为操作系统物理内存的 1 64 后者为 JVM 可申请的最大内存 默认为物理内存的 1 4 默认当空余堆内存小于 40 时
大家好,我是讯享网,很高兴认识大家。
2025年小蚂蚁速购(小蚂蚁购物平台)
上一篇
2025-05-28 23:08
2025年sql文件导入数据库报错(sql文件导入数据库报错怎么解决)
下一篇
2025-06-16 18:23

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/172389.html