为了账号安全,请及时绑定邮箱和手机立即绑定

Vector源码疑惑

Vector源码疑惑

蝴蝶刀刀 2019-03-13 18:15:04
1.在看Vector源码是有2个小知识点比较疑惑2.疑惑代码如下/**This implements the unsynchronized semantics of ensureCapacity.Synchronized methods in this class can internally call thismethod for ensuring capacity without incurring the cost of anextra synchronization.*@see #ensureCapacity(int)*/void ensureCapacityHelper(int minCapacity) {   // overflow-conscious code    if (minCapacity - elementData.length > 0)        grow(minCapacity);}/**The maximum size of array to allocate.Some VMs reserve some header words in an array.Attempts to allocate larger arrays may result inOutOfMemoryError: Requested array size exceeds VM limit*/static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;3.疑惑问题点如下:问题点1:if (minCapacity - elementData.length > 0),为啥不这样写if(minCapacity>elementData.length),效率高在哪?问题点2:MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;为啥是减8而不是其他,注释没看明白是啥意思
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 364 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信