部分JAVA问题记录
1、父类子类加载顺序
大前提:静态》非静态,
小前提:父类》子类
类内部:变量》代码块》构造函数
静态父类变量
静态父类代码块(若有多个按代码先后顺序执行)
静态子类变量
静态子类代码块(若有多个按代码先后顺序执行)
非静态父类变量
非静态父类代码块(若有多个按代码先后顺序执行)
父类构造函数
非静态子类变量
非静态子类代码块(若有多个按代码先后顺序执行)
子类构造函数
2、HashMap、HashTable、ConcurrentHashMap
HashMap | ConcurrentHashMap | Hashtable | |
实现 | jdk7数组+链表; jdk8数组+链表(小于8)+红黑树(大于8) |
jdk7数组+链表; jdk8数组+链表(小于8)+红黑树(大于8) |
数组+链表 |
线程安全 | × | √ | √ |
锁 | jdk7桶锁;jdk8行级锁 | 全局锁 | |
性能 | 好 | 中 | 差 |
KV | K/V均可为null get(K)返回null不能说明K键不存在 |
K/V不可为null | K/V不可为null |
其他 | 转化为同步: Collections.synchronizeMap(hashMap); |
废弃 |
3、B树、B+树、红黑树
B树 | B+树(Mysql索引) | 红黑树 | |
结构 | 多叉树 | 在B树的叶子节点间加上指针,使其能范围查找 | 二叉树 |
特点 | 深度小 | 深度大 | |
存储在外存时 | IO少,快 | IO多,慢 | |
存储在内存时 | 效率低,慢 | 效率高,快 |
4、
5、设计模式:https://blog.****.net/u013760453/article/details/88560134
6、jvm、gc、优化、类加载:https://blog.****.net/u013760453/article/details/88563931
7、zookeeper算法
8、数据倾斜解决!!!https://blog.****.net/u013760453/article/details/88600841
9、 多线程、多进程、java线程池 https://blog.****.net/u013760453/article/details/88605530
10、hadoop(shuffle、环形缓冲区、执行流程)、spark(执行流程)!!!https://blog.****.net/u013760453/article/details/88629242
11、hiveSQL窗口函数、如何解析为MR、hiveUDF、hive join优化!!!
https://blog.****.net/Abysscarry/article/details/81408265
https://blog.****.net/haramshen/article/details/52668586
12、快排、栈实现队列、MR实现矩阵乘法、
13、二叉树翻转、序列化反序列化二叉树、二叉树遍历!!!
14、hashMap实现原理
15、星型模型、雪花模型!!
16、聚焦索引、非聚焦索引