- 博客(6)
- 资源 (11)
- 收藏
- 关注
原创 LinkedList运行原理
LinkedList和ArrayList都闲了List接口。因为LinkedList基于链表结构,所以插入,删除某一个节点会比ArrayList效率高,但随即访问某一个元素,效率不如ArrayList。 因为是链表结构,所以在初始化的时候不需要连续的内存,只需要见缝插针,记录next,prev就可以。所以在空间复杂度上比ArrayList强。//LinkedList的Add过程 public b
2017-05-17 15:40:40 244
原创 ArrayList的基本工作原理详解remove
其实remove(index),add(index,e)类似去操作下标增加或者删除的。其实用ArrayList挺费劲的。 下面就看看费劲在哪。 拿remove来说 public E remove(int index) { //第一步先判断是否有越界,如果越界直接IndexOutOfBoundsException rangeCheck(index);
2017-05-16 12:02:38 1281
原创 ArrayList的基本工作原理详解add
ArrayList其实就是一个长度可变的数组,看源码就是知道,就是是一个Object[]。 ArrayList是unsynchronized。 因为底层由数组承载,那么需要连续的内存空间,所以空间复杂度是O(n)。 如果按下标直接去get(index)或者直接add(e)到数组的尾部,那么时间复杂度是O(1)。 如果要remove(index),或者add(index,e)那么时间复杂度为O
2017-05-16 11:09:44 4446
原创 为什么Set会去重
Set之所以会去重,和map有很大的关系。 看源码你会发现HashSet底层使用HashMap存储 TreeSet底层使用TreeMap存储 LinkedHashSet底层使用LinkedHashMap存储拿HashSet为例子,我们查看add()方法的源码 public boolean add(E e) { return map.put(e, PRESENT)==null;
2017-05-15 17:34:31 5756 2
原创 HashMap工作原理
首先看源码 /** * An empty table instance to share when the table is not inflated. */ static final Entry<?,?>[] EMPTY_TABLE = {}; /** * The table, resized as necessary. Length MUST A
2017-05-15 17:18:20 217
原创 org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:396) at org.apache.tomcat.uti
2017-05-11 11:53:12 1336
sonar-scanner-3.0.3.778-windows.zip
2019-07-10
Redis-desktop redis管理工具 支持SSH 无bug版
2018-12-12
1 zookeeper-3.4.7.tar.gz
2018-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人