今天debug进集合的ym,发现完全不知道从哪里开始看,debug也像是废了一样
先看网上的博客从全局进行了解,包括使用及实现原理,然后再钻进去慢慢看
从这些地方开始看
1、底层数据结构是啥?比如ArrayList底层是数组
2、了解操作数据的过程,比如增删改查,ArrayList里面的add、get、remove、forEach等
3、对于有扩容机制的容器,在什么条件下进行扩容。比如ArrayList扩容机制是增加原来基础上的一半,比如原来是8,扩容后
8+8/2=12
//源码
private void grow(int minCapacity) {
// overflow-conscious code
int oldCapacity = elementData.length;
int newCapacity = oldCapacity + (oldCapacity >> 1);
if (newCapacity - minCapacity < 0)
newCapacity = minCapacity;
if (newCapacity - MAX_ARRAY_SIZE > 0)
newCapacity = hugeCapacity(minCapacity);
// minCapacity is usually close to size, so this is a win:
elementData = Arrays.copyOf(elementData, newCapacity);
}
长期积累 对基础知识基本能够掌握 看底层时对代码进行分析 不懂的地方进行查阅 久而久之 就看懂了