Java语言基础+计算机网络+数据结构 知识手册
最近有不少Java同学陆续开始准备找工作,这篇文章算是推给他们让他们提前准备一下。 加油,美好的一天开始啦~ 纯Java语言基础内容 1、常见集合源码分析。(以下是我们被问到过,能想起的所有知识点) ArrayList: 1、初始化时机,初始化发生了什么。 对数组的初始化,如果看过源码会发现,是在add的时候,会先判断是否初始化数组,如果没有,则初始化数组。 2、扩容机制。 仍发生在add阶段,如果数组空间不足则出发扩容,扩容大小为1.5当前数组大小。 3、扩容时,使用什么样的方式创建数组。 Arrays.copyOf()。 4、add(int index, E element)和set(int index, E element)区别 看过源码会发现,add(index,value),value不会覆盖index数据,而是后移。而set则是覆盖index。 LinkedList: 1、结构是什么样子的。 双向链表。 2、addFirst(E e)/addLast(E e)的实现思路。 因为是双向链表,直接挂在Node的prev/拿到最后一个Node挂到next上。 3、和ArrayLi...