1)面向对象
-
多态
-
构造方法
-
局部变量、成员变量、静态变量、常量
-
super 关键字
2)常用工具类
3)集合框架
4)反射机制
-
什么是反射?
-
反射有什么用?
-
Class 类
5)异常处理
-
为什么需要异常处理机制?
-
Error 和 Exception
-
try-catch-finally
-
自定义异常
-
尽量捕获原始异常
-
不要打印堆栈后再抛出异常
-
不要用异常处理机制代替判断
-
不要过早捕获异常
6)注解
-
注解是什么?
-
注解的生命周期
-
注解装饰的目标
-
自定义注解
-
使用注解
7)IO 流
-
字符流、字节流
-
输入流、输出流
-
同步、异步
-
阻塞、非阻塞
-
BIO、NIO 和 AIO
8)序列化
-
什么是序列化和反序列化
-
Java 如何实现序列化和反序列化
-
Serializbale 和 Externalizable
-
serialVersionUID
9)泛型
-
什么是泛型?
-
类型擦除
-
泛型带来的问题
-
泛型中 K T V E 这些特殊字幕的含义
-
通配符
-
上下界限定符 extends 和 super
10)单元测试
-
Junit
-
TestNG
11)编码方式
-
ASCII
-
Unicode
-
UTF-8
-
GBK、GB2312
-
如何解决乱码问题
12)并发编程
-
什么是并发
-
什么是并行
-
什么是线程
-
什么是进程
-
线程的状态
-
线程的优先级
-
创建线程
-
创建线程池
-
什么是线程安全
-
多级缓存和一致性问题
-
CPU 时间片和原子性问题
-
指令重排和有序性问题
-
线程安全和内存模型
-
happens-before
-
可重入锁
-
阻塞锁
-
乐观锁
-
悲观锁
-
分布式锁
-
CAS
-
ABA
-
偏向锁
-
轻量级锁
-
重量级锁
-
自旋锁
-
什么是死锁
-
如果避免死锁
-
volatile
-
ThreadLocal
-
Executors
-
CountDownLatch
-
Thread
-
Runnable
-
Callable
-
ReentrantLock
-
ReentrantReadWriteLock
-
Atomic 相关类
13)Java 8 新特性
14)源码阅读
-
String
-
Integer
-
ArrayList
-
LinkedList
-
CopyOnWriteArrayList
-
HashMap
-
TreeMap
-
LinkedHashMap
-
ConcurrentHashMap
-
CopyOnWriteArrayList