AbstractCollection源码里面的MAX_ARRAY_SIZE

GreatQing 发布于 2016/08/15 18:09
阅读 651
收藏 0

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

      刚才在看AbstractCollection的源码,里面有个MAX_ARRAY_SIZE定义为Integer.MAX_VALUE - 8,突然好奇为什么要减8呢,是因为一些虚拟机要保存一些标题之类的东西在数组里的原因吗?

      源码如下:

/**

     * The maximum size of array to allocate.
     * Some VMs reserve some header words in an array.
     * Attempts to allocate larger arrays may result in
     * OutOfMemoryError: Requested array size exceeds VM limit
     */
    private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部