jvm-堆空间详解

参考

尚硅谷:宋红康(b站视频)

一、堆的核心概述

1.3 查看堆内存的分配工具

运行如下代码查看:

这里我的电脑是32G,但是不足是因为其他一些系统给占用了

可以自己在试试自定义大小:

结果:

发现还是少了25M,这是因为s0 s1两个区域会有一个区域不会被使用,会处于空闲状态:

二、年轻代与老年代

2.1 概念

  1. 存储在JVM中的Java对象可以被划分为两类:
  • 一类是生命周期较短的瞬时对象,这类对象的创建和消亡都非常迅速
  • 另外一类对象的生命周期却非常长,在某些极端的情况下还能够与JVM的生命周期保持一致
  1. java堆区进一步细分的话,可以划分为年轻代(YoungGen)和老年代(oldGen)
  2. 其中年轻代又可以划分为Eden空间、Survivor0空间和Survivor1空间(有时也叫做from区、to区)
  • 通常来讲:老年代和年轻代是2:1的,但是也可以通过参数来设置(但是生产中不建议修改)
  • 在HotSpot中,Eden空间和另外两个Survivor空间缺省所占的比例是:8:1:1

3.2 TLAB补充

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月26日
下一篇 2021年2月26日

相关推荐