请问一下如何才能看懂Java底层

今天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);
    }

长期积累 对基础知识基本能够掌握 看底层时对代码进行分析 不懂的地方进行查阅 久而久之 就看懂了