page contents

大对象直接进入老年代,哪些属于大对象

Pack 发布于 2020-02-21 17:44
阅读 483
收藏 0
分类:Java开发

大对象直接进入老年代,在《深入了解Java虚拟机》书中有这么一句话“所谓的大对象是指,需要大量连续内存空间的Java对象,最典型的大对象就是那种很长的字符串以及数组(笔者列出的例子中的byte[]数组就是典型的大对象)”

那么一个List中包含很多个Person实体类,这个List是属于大对象吗?

415
Pack
Pack

你这个List分为两种,一个是ArrayList,一个是LinkedList


ArrayList 底层实现是基于数组,若是有大量的数据,要求内存空间连续,这个就构成了大对象

LinkedList 底层实现是基于链表,若是有大量的数据,这个内存空间可以不连续,就不满足条件构成大对象

大对象的阈值可以通过参数-XX:PretenureSizeThreshold进行设置

请先 登录 后评论