# Java基础能力
<br/>
## 数据结构
![](https://img.kancloud.cn/6c/6e/6c6ec26291ca78052323d4a95cf34bc3_1056x630.png)
- ArrayList和LinkedList
- Hashmap的内存结构,ConcurrentHashMap的加锁力度
- LinkedHashMap的加工
- TreeMap的有序性
- HashSet及LinkedHashSet的内部结构
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
## 多线程
- 线程池的核心参数及结构
ThreadPoolExecutor:
coreSize:核心线程数
maxSize:最大线程数
queueSize:等待队列数
keepAliveTime:空闲线程多久被销毁
handler:拒绝策略,丢弃/丢弃抛异常/调用线程处理/丢弃最前面的任务然后尝试重新执行
<br/>
<br/>
<br/>
<br/>
- synchronized和ReentrantLock
关键字和非关键字
等待可不可以中断
是否可以设置公平锁
更细粒度的锁控制对象
<br/>
<br/>
<br/>
<br/>
- 三种锁
重量级锁
轻量级锁
偏向锁
<br/>
<br/>
<br/>
<br/>
- CopyOnWrite容器
读快照
写副本并替换
<br/>
<br/>
<br/>
<br/>
- Volatile关键字
多线程可见
防止指令重排
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
## JavaIO
- BIO
- NIO
- AIO
<br/>
<br/>
<br/>
<br/>