摘要:
TreeMap的特点 TreeMap基于红黑树实现 红黑树是一种弱平衡的二叉树,比AVL树旋转次数少,用弱平衡换取旋转次数 有5个性质: 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个叶节点(NIL节点,空节点)是黑色的。 性质4 每个红色节点的两个子节点都是黑色。(从每个叶子 阅读全文
摘要:
AOP基础概念 目标类(Target) 代理(Proxy) 连接点(Joinpoint) 切点(Pointcut) 通知(Advice):增加的功能 切面(Aspect):切点 + 通知 织入(Weaving):增强目标类的方法 引入(Introduction):增加新方法、属性 Spring AO 阅读全文
摘要:
HashMap的特点 非线程安全 支持序列化 动态扩容 JDK1.6采用数组 + 链表实现,JDK1.8采用数组 + 链表 + 红黑树实现(当链表长度达到8时,再插入新的结点将链表转换为红黑树) 成员变量 常量 static final int DEFAULT_INITIAL_CAPACITY = 阅读全文
摘要:
HashSet的特点 成员变量 基本方法 扩容原理 一些问题 参考 http://blog.csdn.net/canot/article/details/51240251 http://www.cnblogs.com/ITtangtang/p/3948538.html 阅读全文
摘要:
构建 这里搜集了用来构建应用程序的工具。 Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。 Gradle:Gradle采用增量构建。Gradle通过Gr 阅读全文
摘要:
并发编程网-你应该知道的JAVA面试题 https://mp.weixin.qq.com/s/dw3y948rqjUAjxSo_eN0gg Java程序员秋招面经大合集(BAT美团网易小米华为中兴等) https://maimai.cn/article/detail?fid=183769783&fr 阅读全文
摘要:
LinkedList的特点 非线程安全 支持序列化 双向链表 成员变量 成员变量 transient int size = 0;transient Node<E> first; // 指向第一个元素transient Node<E> last; // 指向最后一个元素 链表结点,三个属性:元素、上一 阅读全文
摘要:
ArrayList的特点 非线程安全 支持序列化 可以动态扩容 可以动态扩容 线程安全的List Collections.synchronizedList、CopyOnWriteArrayList 成员变量 private static final int DEFAULT_CAPACITY = 10 阅读全文