【HikariCP】【FastList】源码学习

Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCP

FastList

FastList和ArrayList的实现基本一致,但是它主要的改动点是:

  1. 去掉range checking(边界检查)
  2. 删除时数组从后往前遍历查找元素
  3. 不常用的方法没有重写直接抛出UnsupportedOperationException

所以这个类在简单的操作中是够用了,但是要是要使用少见的操作,那么还是用ArrayList。不支持的方法如下:

  • public Object[] toArray()
  • public E[] toArray(E[] a)
  • public boolean containsAll(Collection c)
  • public boolean addAll(Collection c)
  • public boolean addAll(int index, Collection c)
  • public boolean removeAll(Collection c)
  • public boolean retainAll(Collection c)
  • public void add(int index, T element)
  • public int indexOf(Object o)
  • public int lastIndexOf(Object o)
  • public ListIterator listIterator()
  • public ListIterator listIterator(int index)
  • public List subList(int fromIndex, int toIndex)
  • public Object clone()
  • public void forEach(Consumer action)
  • public Spliterator spliterator()
  • public boolean removeIf(Predicate filter)
  • public void replaceAll(UnaryOperator operator)
  • public void sort(Comparator c)

不想考虑那么多,还是老老实实用ArrayList吧

你可能感兴趣的:(源码学习)