JVM 什么样的对象会直接进入老年代?-腾讯云开发者社区-腾讯云
什么是大对象呢,这个是由 JVM 定义的参数值决定的,但是这个参数只在 Serial 和 ParNew 垃圾收集器中生效:-XX:PretenureSizeThreshold
在每个对象的头信息中,都包括一个年龄计数器
对象在经过一次 minor gc 之后,如果仍然存活,并且能够被 survior 所容纳,那么这个年龄计数器就会加一,当计数器的值达到了默认值大小(一般默认值为15),就会进入老年代。
当 survior 区域的存活对象的总大小占用了 survior 区域大小的 50% (可以通过参数指定),那么此时将按照这些对象的存活年龄从小到大排序,然后依次累加,当累加到对象大小超过50%,则将大于等于当前对象年龄的存活对象全部挪到老年代。