- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 LinkedList详解
分析的方法依然和之前一样,不过因为其由Node所组成,首先分析Node。 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element;
2021-09-29 12:54:24 121
原创 ArrayList详解
方法划分成三类,初始化方法,CRUD方法,辅助方法(grow类) CRUD方法 public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; } 首先确保长度足够,然后赋值,这个是可以为null的。 public void add(int index, E
2021-09-29 10:40:09 84
原创 HashMap详解
首先聊其基本组成单位Node static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node(int hash, K key, V value, Node<K,V> next) { this.has
2021-09-28 21:33:58 123
原创 详解ArrayDeque
ArrayDeque方法很多,而他们按过程划分分为三种,初始化,扩容,CRUD操作。 下面依次来说 初始化过程中依赖一个核心的函数calculateSize, 它的源码如下 private static int calculateSize(int numElements) { int initialCapacity = MIN_INITIAL_CAPACITY; // Find the best power of two to hold elements.
2021-09-28 16:49:32 368
原创 何为内核?
何为内核? 我们经常听到操作系统内核,浏览器内核,那么内核的内涵是什么,能否用朴素的语言解释出来? 举个例子,你去食堂吃饭,在窗口让阿姨打饭,然后阿姨把饭放到窗口前,你拿走坐在座位上开始吃。 那饭是怎么做出来的,你并不知道具体的细节,你只需要知道在窗口前让阿姨打饭即可。 那这个窗口和阿姨就是shell,你能够接触到的。而shell底下的饭怎么做出来的,食材的采购被内核所管理。 在操作系统中,shell是你能接触的各种接口,其接口底下的实现就是kernel。 那么基于这个思想,你会发现,类的实现中
2020-09-25 15:35:27 305
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人