
java
文章平均质量分 66
xtl丶
这个作者很懒,什么都没留下…
展开
-
一文了解Java ArrayList (源码逐行解析)(全网最细)
ArrayList 是最常用的 List 实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从 ArrayList 的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。ArrayList继承于AbstractList类,实现了List接口;他是一个数组队列,提供了相关的添加、删除、遍历的功能。原创 2023-04-16 15:14:35 · 299 阅读 · 0 评论 -
一文了解 Java hashMap(面试题)
1.为了数据的均匀分布,减少哈希碰撞。因为确定数组位置是用的位运算,若数据不是2的次幂则会增加哈希碰撞的次数和浪费数组空间。(PS:其实若不考虑效率,求余也可以就不用位运算了也不用长度必需为2的幂次)2.输入数据若不是2的幂,HashMap通过一通位移运算和或运算得到的肯定是2的幂次数,并且是离那个数最近的数字效率问题,其实hash取模时,数组的长度是素数更合适,但是选择合数是因为一些考虑。例如计算在数组的位置时用了h&(length-1)只有当length是2的幂时,结果才与h%length相等。原创 2023-04-09 16:19:17 · 177 阅读 · 0 评论 -
java自定义实现阻塞队列和线程池
实际使用时可以把线程池定义为final static 类型,保证jvm中只存在一个;或者使用单例模式创建线程池。不多BB,直接上代码。原创 2023-04-08 22:46:37 · 408 阅读 · 0 评论