为什么ArrayList扩容是1.5倍,而不是2倍或者其他?
面试被问到,然后不会,凉凉...😭
面试被问到,然后不会,凉凉...😭
全部评论
我觉得是因为1.5倍可以用自己加上一次位移操作获得,速度比较快。而2倍有太多了
个人想法,应该是为了减少扩容次数但是又不想一次分配过大的数组,因为数组是固定大小存储
这是因为,如果二倍扩容的话,那释放的内存连接起来的大小(如果拼接的话),都小于即将要分配的内存大小。浪费空间,而1.5倍的话,可以重用之前的释放的内存,扩容几次回收的内存就会足够分配下一次扩容的空间(我们老师讲过😁),我还碰到问我:为什么Java是单继承的呢!!这些人,就差不问你为什么1+1=2了,关键是一问准懵,唉;
相关推荐
01-06 16:32
广东科技学院 软件测试
哞客37422655...:兄弟别慌!💪 民办本找实习确实难点,但不是没机会。100+简历才2个面试,可能简历需要优化下:
项目经历写具体点,突出测试用例、bug数量等
技能栏把测试工具/方法论写清楚
可以考虑降低预期,先进小厂积累经验
测试岗相对好进,坚持投!现在才半个月,有人投3个月才上岸的😭 加油,offer在路上了🚀 点赞 评论 收藏
分享