java
橘天霸
这个作者很懒,什么都没留下…
展开
-
CopyOnWriteArrayList源码解析
CopyOnWriteArrayList是一个线程安全的ArrayList,它的底层是通过ReentrantLock()实现的。//空参构造器创建了一个空数组public CopyOnWriteArrayList() { setArray(new Object[0]);}final void setArray(Object[] a) { array = a;}// array 被volatile修饰,内存中修改可见private transient volatile Ob原创 2021-04-15 15:59:55 · 73 阅读 · 0 评论 -
Vector源码解析
Vector底层也是数组,初始容量是10。它是线程安全的,效率低。public Vector() { this(10);// Vector的初始容量为10}public Vector(int initialCapacity) { this(initialCapacity, 0);}public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity <原创 2021-04-15 15:58:04 · 75 阅读 · 0 评论 -
LinkedList源码解析
LinkedList实现了List和Deque接口。LinkedList是用双向链表存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢,它还提供了List接口中没有定义的方法,专门用于操作表头和和表尾元素,可以当做堆、栈、队列和双向列表使用。//Node是一个静态内部类private static class Node<E> { E item;//存储当前元素 Node<E> next;//存储下一个节点 Node<E> pr原创 2021-04-15 15:54:58 · 61 阅读 · 0 评论 -
ArrayList源码解析
ArrayList是List集合的一个实现类,它可以快速查询元素。ArrayList的查找时通过索引下标进行查找,所以ArrayList的查找快,当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。ArrayList线程不安全。/** * Default initial capacity. */private static final int DEFAULT_CAPACITY = 10;//当构建一个无参构造器原创 2021-04-15 15:52:20 · 57 阅读 · 0 评论 -
二进制的那些事儿
目录初识二进制什么是二级制二进制的原码、反码、补码原码反码补码二级制和十进制互换十进制转二进制二进制转十进制初识二进制计算机已经成为现代人生活中不可或缺的一部分,有了计算机的帮助,使得我们的生活工作都加以改变,效率提升飞快,当我们在电脑上处理复杂文件时,其实计算机本身是以二进制的方式进行处理运算的。那么,什么是二进制呢?什么是二级制指以2为基数的...原创 2019-12-06 10:46:37 · 556 阅读 · 0 评论