参考
尚硅谷:宋红康(b站视频)
一、堆的核心概述
1.3 查看堆内存的分配工具
运行如下代码查看:
这里我的电脑是32G,但是不足是因为其他一些系统给占用了
可以自己在试试自定义大小:
结果:
发现还是少了25M,这是因为s0 s1两个区域会有一个区域不会被使用,会处于空闲状态:
二、年轻代与老年代
2.1 概念
- 存储在JVM中的Java对象可以被划分为两类:
- 一类是生命周期较短的瞬时对象,这类对象的创建和消亡都非常迅速
- 另外一类对象的生命周期却非常长,在某些极端的情况下还能够与JVM的生命周期保持一致
- java堆区进一步细分的话,可以划分为年轻代(YoungGen)和老年代(oldGen)
- 其中年轻代又可以划分为Eden空间、Survivor0空间和Survivor1空间(有时也叫做from区、to区)
- 通常来讲:老年代和年轻代是2:1的,但是也可以通过参数来设置(但是生产中不建议修改)
- 在HotSpot中,Eden空间和另外两个Survivor空间缺省所占的比例是:8:1:1
3.2 TLAB补充
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!