关于ArrayList长度问题

今天在网上看了下ArrayList的一些东西,发现很多人在问最大长度是多少?

这下我突然来兴趣了,要知道各大程序员使用集合不只几万次了,但是长度多长貌似还真没有人考虑过吧。

源码中可以看出初始长度是10,当然扩容机制在做的程序猿都知道是1.5倍。但是极限在哪里?无限扩容?

很多人都说:我们1.5倍扩容的大小超过了这个指定的范围2147483639时 系统会报一个内存溢出异常。还有别的解释。

我们不争这个,就说这个最大值21亿左右,也就是int的最大值。

问题来了:

你家的数据库有几条数据?

你家的程序需要同时操作21亿条数据,并且读取到list里面?

既然这样学啥sql优化,学啥数据库优化?

当然容器一定会有极限的,但是代码写到一定程度,业务到了一定程度,一定不是考虑放下放不下的问题,而是要考虑用户的体验,程序的流畅,服务器的压力,并发等因素。

所以我认为,ArrayList的容量咱们就别研究了,你一定不会用到它极限的那一天。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值